read.cgiをjavascriptで実現させるプロジェクトのスレッドです。
テスト版
http://sunos.saita.ma/read-js/test/read.cgi
http://sunos.saita.ma/read-js/test/read.cgi/operate/1153615149/
read.cgi 2006―JavaScriptはCGIの夢を見るか
■ このスレッドは過去ログ倉庫に格納されています
NGNG
>>505
文字コードの変換コストは、圧縮処理(mod_deflate)よりも断然低いですね。
文字コードの変換にこだわるなら、
圧縮を段階的にやめることを検討したほうがよさげかもです。
昔とは事情が違うわけですし。
文字コードの変換コストは、圧縮処理(mod_deflate)よりも断然低いですね。
文字コードの変換にこだわるなら、
圧縮を段階的にやめることを検討したほうがよさげかもです。
昔とは事情が違うわけですし。
で、圧縮は、ようは CPU 負荷というコストを使って、
転送量をセーブすることにより、何か得られるものがあるから
(例えばお金の節約とか)、やっていると思うわけです。
で、もし仮にですが、圧縮で得られるものが圧縮で使うコストよりも少ないのであれば、
それは「労多くして益少なし」ということなんではないのかなと。
PIE に移ってからは、定価のタリフのうえでは「帯域については完全保証(料金は変わらない)」と
言っているので、そのあたりのコスト感覚というか計算についても、いろいろと検討してみる必要が
あるのかもしれないのかなと。
# ただ、今の standard banana でいきなり圧縮やめると、
# 10Mbps を超えてしまうやつが、ぼろぼろ出てくるかもしれないですが。
転送量をセーブすることにより、何か得られるものがあるから
(例えばお金の節約とか)、やっていると思うわけです。
で、もし仮にですが、圧縮で得られるものが圧縮で使うコストよりも少ないのであれば、
それは「労多くして益少なし」ということなんではないのかなと。
PIE に移ってからは、定価のタリフのうえでは「帯域については完全保証(料金は変わらない)」と
言っているので、そのあたりのコスト感覚というか計算についても、いろいろと検討してみる必要が
あるのかもしれないのかなと。
# ただ、今の standard banana でいきなり圧縮やめると、
# 10Mbps を超えてしまうやつが、ぼろぼろ出てくるかもしれないですが。
2006/08/14(月) 01:59:56ID:LiQ4r6Ez0
>>505
>>116のhttp://pc8.2ch.net/test/read.cgi/php/1147750917/334
によると、Firefoxでは問題ないようです。
実験したいのですが、>>118がつながりません。
どこかに文字化けするサンプルは残っていますか?
>>116のhttp://pc8.2ch.net/test/read.cgi/php/1147750917/334
によると、Firefoxでは問題ないようです。
実験したいのですが、>>118がつながりません。
どこかに文字化けするサンプルは残っていますか?
2006/08/14(月) 03:00:44ID:5Nwx/hDw0
IE(6 には文字化け問題があるとして,7 はどうなんでしょ?)だけ dat-utf8 使って
それ以外 dat ってのをやるならそれでもいいんですが,その場合
----------------------------------------------------------------------
<Location /*/dat/*.dat>
AddDefaultCharset Shift_JIS
Header append Cache-Control max-age=5
</Location>
----------------------------------------------------------------------
ってのを httpd.conf に入れてもらうということで.ただ,これを入れた場合
黒山羊の Squid などに影響が出ないかどうかってのは要観察かも知れません.あるいは,
----------------------------------------------------------------------
<Location /*/datx/*.dat>
AddDefaultCharset Shift_JIS
Header append Cache-Control max-age=5
</Location>
<VirtualHost ...>
# ServerName dso.2ch.net のところ
AliasMatch ^/(\w+)/datx/(\d+\.dat)$ /home/ch2dso/public_html/$1/dat/$2
</VirtualHost>
----------------------------------------------------------------------
のようにして datx を使うことにすれば,黒山羊等の心配は無用ですが.
それ以外 dat ってのをやるならそれでもいいんですが,その場合
----------------------------------------------------------------------
<Location /*/dat/*.dat>
AddDefaultCharset Shift_JIS
Header append Cache-Control max-age=5
</Location>
----------------------------------------------------------------------
ってのを httpd.conf に入れてもらうということで.ただ,これを入れた場合
黒山羊の Squid などに影響が出ないかどうかってのは要観察かも知れません.あるいは,
----------------------------------------------------------------------
<Location /*/datx/*.dat>
AddDefaultCharset Shift_JIS
Header append Cache-Control max-age=5
</Location>
<VirtualHost ...>
# ServerName dso.2ch.net のところ
AliasMatch ^/(\w+)/datx/(\d+\.dat)$ /home/ch2dso/public_html/$1/dat/$2
</VirtualHost>
----------------------------------------------------------------------
のようにして datx を使うことにすれば,黒山羊等の心配は無用ですが.
2006/08/14(月) 08:38:05ID:pfMHSnaj0
IEでも全datを取得するような場合は生SJISを読むことはできる。 >>86
ただし差分の取得などには使えなさそう。
ただし差分の取得などには使えなさそう。
2006/08/14(月) 14:25:11ID:oLLYslxgP
ぜんぶ
2006/08/14(月) 14:28:59ID:LiQ4r6Ez0
文字コード変換しても差分読み込みはできません。
現状では(Not Modifiedが返らない限り)無条件にdatは全部読んでます。
そうしないと部分表示に対応できないから。
現状では(Not Modifiedが返らない限り)無条件にdatは全部読んでます。
そうしないと部分表示に対応できないから。
2006/08/14(月) 14:36:08ID:LiQ4r6Ez0
2006/08/14(月) 14:36:47ID:LiQ4r6Ez0
> リロードボタン
じゃなくてリロードリンク
じゃなくてリロードリンク
差分は仕様がよくわからないと。。
519stream ◆PNstream2s
2006/08/14(月) 14:42:55ID:6OcOUbMJO なんか勘違いしてる見たいですけど、差分転送なんて有り得ないですよ。IE6が文字化けするのは、If-Modified-SinceとかIf-None-Matchを使った「条件付きGET」の結果、304が帰ってきた場合です。
>差分転送なんて有り得ないですよ
つまり差分転送はjsだと出来ないってことですか?
>「条件付きGET」の結果、304
ってのは、具体的に何をしたときに発生するどういうエラーなんでしょう?
つまり差分転送はjsだと出来ないってことですか?
>「条件付きGET」の結果、304
ってのは、具体的に何をしたときに発生するどういうエラーなんでしょう?
条件付きGETの結果、304 が返ってくる = dat が更新されていなかった
かな。
つまり、書き込みも削除もされていなかったと。
かな。
つまり、書き込みも削除もされていなかったと。
2006/08/14(月) 14:46:36ID:clLu5sZ/0
差分転送は、2chブラウザと同じ方法で出来るでしょ。
現状の仕様が差分転送してないだけで、
現状の仕様が差分転送してないだけで、
2006/08/14(月) 14:57:05ID:LiQ4r6Ez0
2006/08/14(月) 14:58:53ID:clLu5sZ/0
>>523
うんうん
xmlhttpのresponseBodyで、バイナリデータ貰えるし、
Rangeヘッダ追加してやりゃ差分取得もできる。
responseBodyがIE限定だし
ブラウザから更新されたら意味ないから無駄に近いけど
うんうん
xmlhttpのresponseBodyで、バイナリデータ貰えるし、
Rangeヘッダ追加してやりゃ差分取得もできる。
responseBodyがIE限定だし
ブラウザから更新されたら意味ないから無駄に近いけど
つまり差分取得は可能だけど、今のバージョンは未対応。。と
差分転送で更新されてないと304が返るけど、
jsだとハンドリングできないってことですか?
差分転送で更新されてないと304が返るけど、
jsだとハンドリングできないってことですか?
2006/08/14(月) 15:05:17ID:Zt0xoj6H0
527stream ◆PNstream2s
2006/08/14(月) 15:06:22ID:6OcOUbMJO >>520
JavaScriptじゃできないですね。差分取得使うなら通常ブラウザのキャッシュではなく独自のキャッシュ機構が必要ですから、パソコンのディスクなどにアクセスできる方法じゃないと。
>>522
JavaScriptでもRangeヘッダをつければ差分取得自体はできるけど、そのRangeに設定する数値はどうやって決めるのか。
仮に決められても、そもそもブラウザを終了したり他のページに移ったら(=JavaScriptが終了したら)キャッシュに残ってるデータのうしろに差分取得したデータをくっつける手段はないから、プログラムを複雑にしてまでやるメリットは薄いと思う。
何が方法があるならコード例を示して欲しい。responseBodyはすでに過去のもののはず。
JavaScriptじゃできないですね。差分取得使うなら通常ブラウザのキャッシュではなく独自のキャッシュ機構が必要ですから、パソコンのディスクなどにアクセスできる方法じゃないと。
>>522
JavaScriptでもRangeヘッダをつければ差分取得自体はできるけど、そのRangeに設定する数値はどうやって決めるのか。
仮に決められても、そもそもブラウザを終了したり他のページに移ったら(=JavaScriptが終了したら)キャッシュに残ってるデータのうしろに差分取得したデータをくっつける手段はないから、プログラムを複雑にしてまでやるメリットは薄いと思う。
何が方法があるならコード例を示して欲しい。responseBodyはすでに過去のもののはず。
2006/08/14(月) 15:11:59ID:clLu5sZ/0
>>525
jsのHTTPクライアントのXMLHTTPさんが過保護で
普通に取得しても、キャッシュに残ってる+更新されてないと
そのキャッシュを読み込んで返す。
ヘタしたら304さえ返さない。てか304返すなら拾えるし。
キャッシュ読み込むときに文字コードの判定にしくって
文字化けが起きてるらしい。
jsのHTTPクライアントのXMLHTTPさんが過保護で
普通に取得しても、キャッシュに残ってる+更新されてないと
そのキャッシュを読み込んで返す。
ヘタしたら304さえ返さない。てか304返すなら拾えるし。
キャッシュ読み込むときに文字コードの判定にしくって
文字化けが起きてるらしい。
532stream ◆PNstream2s
2006/08/14(月) 15:17:31ID:6OcOUbMJO >>532
> そもそも304の応答にはボディはないからContent-Typeはつけちゃいけないし、
> mod_header使ってもつけられない。
おぉ、なるほど。
で、IE6 だとその場合、UTF-8 だと思い込んじゃう、ってことなのかしら。
> そもそも304の応答にはボディはないからContent-Typeはつけちゃいけないし、
> mod_header使ってもつけられない。
おぉ、なるほど。
で、IE6 だとその場合、UTF-8 だと思い込んじゃう、ってことなのかしら。
2006/08/14(月) 15:21:27ID:clLu5sZ/0
535stream ◆PNstream2s
2006/08/14(月) 15:52:57ID:6OcOUbMJO >>529
まあ、SunOsさんはそれよりも文字コード変換してしまったほうがすっきりするということで実装を進めたようですが
まあ、SunOsさんはそれよりも文字コード変換してしまったほうがすっきりするということで実装を進めたようですが
おぉ?IEは以外は文字コード変換しなくても
大丈夫なんですか?
大丈夫なんですか?
2006/08/14(月) 16:11:18ID:LiQ4r6Ez0
>>532
> そもそも304の応答にはボディはないからContent-Typeはつけちゃいけないし、
なるほど確かに。
> If the conditional GET used a strong cache validator (see section
> 13.3.3), the response SHOULD NOT include other entity-headers.
> Otherwise (i.e., the conditional GET used a weak validator), the
> response MUST NOT include other entity-headers; this prevents
> inconsistencies between cached entity-bodies and updated headers.
> entity-header = Allow ; Section 14.7
(中略)
> | Content-Type ; Section 14.17
> そもそも304の応答にはボディはないからContent-Typeはつけちゃいけないし、
なるほど確かに。
> If the conditional GET used a strong cache validator (see section
> 13.3.3), the response SHOULD NOT include other entity-headers.
> Otherwise (i.e., the conditional GET used a weak validator), the
> response MUST NOT include other entity-headers; this prevents
> inconsistencies between cached entity-bodies and updated headers.
> entity-header = Allow ; Section 14.7
(中略)
> | Content-Type ; Section 14.17
2006/08/14(月) 16:12:30ID:pfMHSnaj0
(1)datの先頭に<!--あ-->等の文字を入れておく
(2)まずはsjis版のdatを取得に行く
先頭の<!--あ-->が化けていない場合は新規取得っぽいのでそのまま表示
<!--あ-->が化けている場合はキャッシュっぽいのでutf-8版を取り直す
こんな感じで文字コード変換の回数を減らせるかな。
(2)まずはsjis版のdatを取得に行く
先頭の<!--あ-->が化けていない場合は新規取得っぽいのでそのまま表示
<!--あ-->が化けている場合はキャッシュっぽいのでutf-8版を取り直す
こんな感じで文字コード変換の回数を減らせるかな。
>>538 少なくとも Firefox では問題ないようでした.
2006/08/14(月) 16:17:17ID:fNT1qkg10
個人的には<!--ゲイツ氏ね-->とでも
IEのバージョンによってOKだったりするんですかね?
2006/08/14(月) 16:19:43ID:pfMHSnaj0
7では直っていることを期待したいですね。
2006/08/14(月) 16:19:47ID:LiQ4r6Ez0
>>544
IE7だと大丈夫という説があるけど未確認です
IE7だと大丈夫という説があるけど未確認です
>>540 それだと,IE の場合キャッシュを使わず毎回サーバから取ってくるのと
変わらない,っていうか dat の仕様変更になるんで各方面に与える影響が......
# dat の仕様変更するなら,上の方で出てた XML の CDATA セクションに突っ込む形の方が......
変わらない,っていうか dat の仕様変更になるんで各方面に与える影響が......
# dat の仕様変更するなら,上の方で出てた XML の CDATA セクションに突っ込む形の方が......
文字化けの問題がIE7で解決されるのであれば、
いずれ解決されるって前提で進めたほうがいいとおもうです。
いずれ解決されるって前提で進めたほうがいいとおもうです。
2006/08/14(月) 16:47:54ID:pfMHSnaj0
初回 sjis取得
リロード1回目(更新あり)
sjis取得
リロード1回目(更新なし 304)
sjisキャッシュ破棄 → utf-8取得
リロード2回目以降(更新あり)
sjis取得
リロード2回目以降(更新なし 304)
sjisキャッシュ破棄 → utf-8キャッシュを表示
・・・混乱してきた。
どうせIE7で直るなら、変な小細工を考えないほうがいいですね。
リロード1回目(更新あり)
sjis取得
リロード1回目(更新なし 304)
sjisキャッシュ破棄 → utf-8取得
リロード2回目以降(更新あり)
sjis取得
リロード2回目以降(更新なし 304)
sjisキャッシュ破棄 → utf-8キャッシュを表示
・・・混乱してきた。
どうせIE7で直るなら、変な小細工を考えないほうがいいですね。
2006/08/14(月) 16:51:49ID:1kFRvFPJ0
UAで判断する方針?
>>118(って今はないのかな?)を IE 7 で見てもらって問題ないなら
文字コード変換かけるのは IE 6 限定ってことでもいいかもですね.
文字コード変換かけるのは IE 6 限定ってことでもいいかもですね.
2006/08/14(月) 16:56:32ID:oLLYslxgP
>>549
オートアップデートである日突然元の仕様に戻って2ちゃん化け化けとか
オートアップデートである日突然元の仕様に戻って2ちゃん化け化けとか
2006/08/14(月) 17:14:04ID:clLu5sZ/0
if (window.XMLHttpRequest) { //Mozilla, Firefox, Safari, IE7
sjisのdatでok
}else if(window.ActiveXObject) { //IE5,IE6
urf-8のdatで
}else{ //そもそも無理な人たち
read.cgiへ
}
これで、safari以外たぶん大丈夫になる。
sjisのdatでok
}else if(window.ActiveXObject) { //IE5,IE6
urf-8のdatで
}else{ //そもそも無理な人たち
read.cgiへ
}
これで、safari以外たぶん大丈夫になる。
2006/08/14(月) 17:36:00ID:fNT1qkg10
まずはSJISのdatを取得して、化けてる(304でキャッシュを開いてる)時だけUTF8版を取りに行く。
更新がずっと無ければUTF8版のキャッシュが表示される。
2回のリロードごとに更新があると効率が悪い。
更新がずっと無ければUTF8版のキャッシュが表示される。
2回のリロードごとに更新があると効率が悪い。
2006/08/14(月) 23:17:51ID:LiQ4r6Ez0
2006/08/14(月) 23:37:52ID:sW64q9m+0
streamカモーン
Shift JIS のままの dat を取ってくるなら,>>510 の設定を dso に入れてほしいと......
まぁどっちにしろ,少なくとも IE 以外は Shift JIS の dat を取ってくる形にすれば
ムダにはならないんで.
まぁどっちにしろ,少なくとも IE 以外は Shift JIS の dat を取ってくる形にすれば
ムダにはならないんで.
>>559
done.
done.
>>561
だめ出ししようってことすね。了解です。
だめ出ししようってことすね。了解です。
2006/08/15(火) 01:05:26ID:qeiAdM0E0
なるほど。リロードするとおもくそ化けますた@IE6
Firefox 1.5.0.6では問題なし
ではリブートしてIE7で試してみますノシ
Firefox 1.5.0.6では問題なし
ではリブートしてIE7で試してみますノシ
2006/08/15(火) 01:15:29ID:zanmU7rX0
>>563
ウチのIE6は化けないけど、、、
ウチのIE6は化けないけど、、、
2006/08/15(火) 01:21:17ID:qeiAdM0E0
2006/08/15(火) 01:21:44ID:qeiAdM0E0
2006/08/15(火) 01:29:54ID:v4RrwvPg0
IE5を見放さないで
>>568
開発元(MS)って、IE 5.x をまだサポートしていましたっけ。
開発元(MS)って、IE 5.x をまだサポートしていましたっけ。
2006/08/15(火) 01:32:38ID:Vjx6htrB0
IE5とIE6は、ちょうど限定して使える、
responseBodyで、クライアント側で文字コード変換しようか。
responseBodyで、クライアント側で文字コード変換しようか。
2006/08/15(火) 01:37:14ID:qeiAdM0E0
2006/08/15(火) 01:48:15ID:v4RrwvPg0
マカーos9組は、IE5.1.7でサポート終了してます。(涙
2006/08/15(火) 01:50:41ID:Vjx6htrB0
http://winofsql.jp/VA003334/asp051115161559.htm#ttl3
vbsのはあった。
' バイナリ -> 内部コード
For i = 1 To LenB( strBin )
c1 = AscB(MidB(strBin, i, 1))
if &H81 <= c1 and c1 <= &H9f or &He0 <= c1 and c1 <= &Hfc then
i = i + 1
c2 = AscB(MidB(strBin, i, 1))
c1 = c1 * 16 * 16 + c2
end if
strVbs = strVbs & Chr(c1)
Next
処理自体はこのぐらい。
vbsのはあった。
' バイナリ -> 内部コード
For i = 1 To LenB( strBin )
c1 = AscB(MidB(strBin, i, 1))
if &H81 <= c1 and c1 <= &H9f or &He0 <= c1 and c1 <= &Hfc then
i = i + 1
c2 = AscB(MidB(strBin, i, 1))
c1 = c1 * 16 * 16 + c2
end if
strVbs = strVbs & Chr(c1)
Next
処理自体はこのぐらい。
2006/08/15(火) 01:52:49ID:qeiAdM0E0
>>574
VBならStrConv一発
http://www.f3.dion.ne.jp/~element/msaccess/AcTipsVbaXMLHTTP.html
IEだとADODB.Streamというのが使えたらしいが今はだめぽ
http://ponpon-village.net/ajax/xmlhttp.htm
VBならStrConv一発
http://www.f3.dion.ne.jp/~element/msaccess/AcTipsVbaXMLHTTP.html
IEだとADODB.Streamというのが使えたらしいが今はだめぽ
http://ponpon-village.net/ajax/xmlhttp.htm
2006/08/15(火) 01:53:07ID:toLvEDbv0
IEのバージョンとかにかんしては
http://www.quirksmode.org/browsers/multipleie.html
http://blog.ikesai.com/log/2006/07/ie7_beta3ie6.html
ここで過去のIEやら未来のIE拾ってくれば検証できるかな
あとでかいスレを読み込んだ時にフリーズするから
http://www.kawa.net/works/js/8queens/nqueens.html
ここの手法を用いて逐次表示にして欲しいところ。
文字化けとかは正直よくわからん
http://www.quirksmode.org/browsers/multipleie.html
http://blog.ikesai.com/log/2006/07/ie7_beta3ie6.html
ここで過去のIEやら未来のIE拾ってくれば検証できるかな
あとでかいスレを読み込んだ時にフリーズするから
http://www.kawa.net/works/js/8queens/nqueens.html
ここの手法を用いて逐次表示にして欲しいところ。
文字化けとかは正直よくわからん
2006/08/15(火) 01:58:34ID:zanmU7rX0
理由はわからないけど何故か文字化けしないっす
キャッシュも残ってるし、、、
キャッシュも残ってるし、、、
2006/08/15(火) 02:01:12ID:qeiAdM0E0
2006/08/15(火) 02:08:14ID:zanmU7rX0
キャッシュクリアしてみたりスーパーリロードしてからでも化けないっす、、、謎
2006/08/15(火) 02:09:18ID:qeiAdM0E0
2006/08/15(火) 02:10:09ID:qeiAdM0E0
でもまぁ,IE 7 で問題が解消するとなると,いずれ IE 7 の割合が増えて
IE 6 の割合が減るなら,mod_charset_lite 利用による負荷は時間が解決してくれる
はずってことで,あえて複雑なことをするまでもないかな,って気もします.
フィルタ通すことによる負荷なら,上の方でも言ってますが mod_deflate による
gzip 圧縮の方がよほど重いんで.
IE 6 の割合が減るなら,mod_charset_lite 利用による負荷は時間が解決してくれる
はずってことで,あえて複雑なことをするまでもないかな,って気もします.
フィルタ通すことによる負荷なら,上の方でも言ってますが mod_deflate による
gzip 圧縮の方がよほど重いんで.
>>582 に同意ですね。
IE6 は「長いもの」なので、特別扱いでもまぁしょうがないのかなと。
IE6 は「長いもの」なので、特別扱いでもまぁしょうがないのかなと。
2006/08/15(火) 06:59:20ID:i2D78TlA0
長いものに巻かれるというか、長いものに振り回されてる感じ
んでは、IE6のをdat-utf8にしてみるってことで、
あと解決しなきゃいけない問題ってどんなのでしょう?
あと解決しなきゃいけない問題ってどんなのでしょう?
2006/08/15(火) 09:04:39ID:i2D78TlA0
「書き込みました」の画面に書き込んだ投稿の内容を埋めておけば、
書き込み後にdatを再取得する手間が省けるかなあ。
でも、同時に複数書き込みがあったとき(1000ゲットなど)にレス番号表示がおかしくなるかも。
書き込み後にdatを再取得する手間が省けるかなあ。
でも、同時に複数書き込みがあったとき(1000ゲットなど)にレス番号表示がおかしくなるかも。
2006/08/15(火) 09:38:33ID:VQ0W/EIL0
結局datから必要な部分を切り出してUTF-8に変換するCGIを用意するだけに
落ち着きそうな気もしてきた。
落ち着きそうな気もしてきた。
2006/08/15(火) 09:44:42ID:9b41f8lUP
巨大AA貼りつけスレを見ると30秒くらいCPUフル稼働する…
Opera9(Win)
Opera9(Win)
さて、ぼちぼち dso サーバの bbs.cgi が吐くリンクを
read.html にしてみようかなと思うわけですが、
単に、
read.cgi/板名/キー/引数
を、
read.html#板名/キー/引数
に変換すればいいのかしら。
read.html にしてみようかなと思うわけですが、
単に、
read.cgi/板名/キー/引数
を、
read.html#板名/キー/引数
に変換すればいいのかしら。
>>585 あとは,細かい改良の積み重ねって感じでしょうか......
>>589 subback.html の URL の変更はちょっと大変かも......現状では
<base href="http://dso.2ch.net/test/read.cgi/myanmar/">
<a href="1111111111/l50">...</a>
のようになってますが,これを
<base href="http://dso.2ch.net/test/read.html#myanmar/">
<a href="1111111111/l50">...</a>
にしてもダメで(base に # を含む URL を指定してもナンセンスで,
この場合 "http://dso.2ch.net/test/" として扱われてしまう),
<base href="http://dso.2ch.net/test/">
<a href="read.html#myanmar/1111111111/l50">...</a>
のようにしなければなりませんが,こうなると subback.html がデカくなりそうです......
さらに,上の方でも言いましたが,subback.html 中のリンク自体を location.hash 形式にすると
read.html 非対応ブラウザを従来版 read.cgi に直接リダイレクトさせるのも不可能になってしまいます.
逆に read.cgi/...... から read.html#...... へリダイレクトさせるのは可能ですが,
リダイレクトによる HTTP リクエストを削減させるとすれば,302 Found の代わりに
301 Moved Permanently を返せばいいのかな(ただ,301 を返すようにするのは
URL の仕様がちゃんと固まってからの方がいいでしょうけど).
>>589 subback.html の URL の変更はちょっと大変かも......現状では
<base href="http://dso.2ch.net/test/read.cgi/myanmar/">
<a href="1111111111/l50">...</a>
のようになってますが,これを
<base href="http://dso.2ch.net/test/read.html#myanmar/">
<a href="1111111111/l50">...</a>
にしてもダメで(base に # を含む URL を指定してもナンセンスで,
この場合 "http://dso.2ch.net/test/" として扱われてしまう),
<base href="http://dso.2ch.net/test/">
<a href="read.html#myanmar/1111111111/l50">...</a>
のようにしなければなりませんが,こうなると subback.html がデカくなりそうです......
さらに,上の方でも言いましたが,subback.html 中のリンク自体を location.hash 形式にすると
read.html 非対応ブラウザを従来版 read.cgi に直接リダイレクトさせるのも不可能になってしまいます.
逆に read.cgi/...... から read.html#...... へリダイレクトさせるのは可能ですが,
リダイレクトによる HTTP リクエストを削減させるとすれば,302 Found の代わりに
301 Moved Permanently を返せばいいのかな(ただ,301 を返すようにするのは
URL の仕様がちゃんと固まってからの方がいいでしょうけど).
2006/08/15(火) 13:05:38ID:i2D78TlA0
IEで未読と既読の区別がつかなくなるという問題も。
2006/08/15(火) 13:32:04ID:qeiAdM0E0
subbackのリンクは標準では従来通りにして、JavaScriptで
(onclickとかonloadを見張って)差し替えたらどうですか?
どうせJavaScriptが有効でないとread.htmlは使えないんだし
>>591の問題も解決する。
(onclickとかonloadを見張って)差し替えたらどうですか?
どうせJavaScriptが有効でないとread.htmlは使えないんだし
>>591の問題も解決する。
2006/08/15(火) 13:54:23ID:qeiAdM0E0
具体的にはこんな感じのをsubback.htmlのヘッダに突っ込むだけ
<script type="text/javascript"><!--
document.onclick = function(e) {
var t = window.event ? event.srcElement : e.target;
if (t && t.href) {
window.open(t.href.replace(/read.cgi\//, 'read.html#'), t.href.target);
return false;
}
}
--></script>
<script type="text/javascript"><!--
document.onclick = function(e) {
var t = window.event ? event.srcElement : e.target;
if (t && t.href) {
window.open(t.href.replace(/read.cgi\//, 'read.html#'), t.href.target);
return false;
}
}
--></script>
2006/08/15(火) 13:58:25ID:qeiAdM0E0
598root▲ ★
2006/08/15(火) 14:04:26ID:???0 subback.html はこれでやってみるとして、
index.html は、どんなかんじになるのかしら。同じでいいのかな。
index.html は、どんなかんじになるのかしら。同じでいいのかな。
2006/08/15(火) 14:08:05ID:qeiAdM0E0
2006/08/15(火) 14:11:18ID:qeiAdM0E0
ってことで改良版。
<script type="text/javascript"><!--
document.onclick = function(e) {
var t = window.event ? event.srcElement : e.target;
if (t && t.href) {
t.href = t.href.replace(/read.cgi\//, 'read.html#');
}
}
--></script>
<script type="text/javascript"><!--
document.onclick = function(e) {
var t = window.event ? event.srcElement : e.target;
if (t && t.href) {
t.href = t.href.replace(/read.cgi\//, 'read.html#');
}
}
--></script>
2006/08/15(火) 14:13:01ID:qeiAdM0E0
subback.htmlも>>600のほうがいいです。
2006/08/15(火) 14:14:37ID:qeiAdM0E0
あ、すみません。最後の行は
//--></script>
にしてください(先頭に // を入れる)。
//--></script>
にしてください(先頭に // を入れる)。
603root▲ ★
2006/08/15(火) 14:14:46ID:???0 どもです。
同じものを両方に入れればいい(サブルーチン一つ書けばいい)のかしら。
同じものを両方に入れればいい(サブルーチン一つ書けばいい)のかしら。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「慶應と鹿児島大なら当然鹿児島大学にいくべきという世界」Xで舌戦、外野から殺害予告 鹿大研究室★2 [七波羅探題★]
- 「頭皮が透けて見え、額は大きく後退」中居正広氏が海外逃亡!?「シンガポールが有力です」フジテレビから損害賠償求められる前に高跳びか★4 [Ailuropoda melanoleuca★]
- 不調の有機ELテレビ、2つの要因と復活へのシナリオ [HAIKI★]
- 大阪万博入場券を福井県、県内の全児童生徒に無償配布へ…関西パビリオン内で恐竜テーマ展 [蚤の市★]
- がっかりした「実写化映画」ランキング…3位『聖闘士星矢』、2位『おそ松さん』を抑えた1位は [muffin★]
- 「城しか見るところがない」なぜ名古屋市はインバウンド誘致の負け組になったのか 東京の僅か1/20★5 [七波羅探題★]
- 石破で学ぶ英会話「仮定の質問にはお答えできない」トランプ [308389511]
- 日銀、ガチで「本気の利上げ」へ新方針 [281145569]
- 🌙日曜深夜のホロライブ雑談🌃
- しかぶってよか?
- ガチ無職職歴ほぼ無し38歳貯金2200万
- 30年間の停滞の原因が日本人が無能なせいとか言うけどそんなに差があるわけないだろ。絶対に政府の経済政策が間違ってたんだろ [308389511]