■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50

read.cgi 2006―JavaScriptはCGIの夢を見るか

515 :root▲ ★ :2006/08/14(月) 14:33:19 ID:???0 BE:1641492-PLT(15697)
>>512
> 圧縮ははずす方向だった予感。

おぉ。そうすか。
vip とかの単体系サーバにとっては、かなり朗報かも。

>>512第二段落

全部の方が、特にでっかい dat の時はコスト高そうな気がしますね。
でもたぶん、測ってみる必要がありそう。

>>514
そうでしたっけか。< 差分ができない
そのこころって、なんでしたっけ。

516 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:36:08 ID:LiQ4r6Ez0
>>515
あ、書き込みの後とかリロードボタンを押した場合には
差分取得してるかも。

517 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:36:47 ID:LiQ4r6Ez0
> リロードボタン
じゃなくてリロードリンク

518 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 14:42:53 ID:???0 BE:340496-DIA(30602)
差分は仕様がよくわからないと。。

519 :stream ◆PNstream2s :2006/08/14(月) 14:42:55 ID:6OcOUbMJO
なんか勘違いしてる見たいですけど、差分転送なんて有り得ないですよ。IE6が文字化けするのは、If-Modified-SinceとかIf-None-Matchを使った「条件付きGET」の結果、304が帰ってきた場合です。

520 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 14:44:03 ID:???0 BE:176674-DIA(30602)
>差分転送なんて有り得ないですよ
つまり差分転送はjsだと出来ないってことですか?

>「条件付きGET」の結果、304
ってのは、具体的に何をしたときに発生するどういうエラーなんでしょう?


521 :root▲ ★ :2006/08/14(月) 14:45:40 ID:???0 BE:1095326-PLT(15697)
条件付きGETの結果、304 が返ってくる = dat が更新されていなかった

かな。
つまり、書き込みも削除もされていなかったと。

522 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:46:36 ID:clLu5sZ/0
差分転送は、2chブラウザと同じ方法で出来るでしょ。
現状の仕様が差分転送してないだけで、

523 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:57:05 ID:LiQ4r6Ez0
>>519
そういえば304の応答に「Content-Type: text/plain; charset=Shift_JIS」を含めても
文字化けするの?
>>522
ただしログはとっておけないからその場で(ページを移動せずに)リロードした場合に
限る。だから>>516と。
もっとも現状では差分取得は一切やってないみたいだけど

524 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:58:53 ID:clLu5sZ/0
>>523
うんうん
xmlhttpのresponseBodyで、バイナリデータ貰えるし、
Rangeヘッダ追加してやりゃ差分取得もできる。

responseBodyがIE限定だし
ブラウザから更新されたら意味ないから無駄に近いけど

525 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 15:02:27 ID:???0 BE:170093-DIA(30602)
つまり差分取得は可能だけど、今のバージョンは未対応。。と

差分転送で更新されてないと304が返るけど、
jsだとハンドリングできないってことですか?


526 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 15:05:17 ID:Zt0xoj6H0
>>525
これの処理お願いします。
http://news20.2ch.net/test/read.cgi/news/1155531670/3

527 :stream ◆PNstream2s :2006/08/14(月) 15:06:22 ID:6OcOUbMJO
>>520
JavaScriptじゃできないですね。差分取得使うなら通常ブラウザのキャッシュではなく独自のキャッシュ機構が必要ですから、パソコンのディスクなどにアクセスできる方法じゃないと。


>>522
JavaScriptでもRangeヘッダをつければ差分取得自体はできるけど、そのRangeに設定する数値はどうやって決めるのか。
仮に決められても、そもそもブラウザを終了したり他のページに移ったら(=JavaScriptが終了したら)キャッシュに残ってるデータのうしろに差分取得したデータをくっつける手段はないから、プログラムを複雑にしてまでやるメリットは薄いと思う。

何が方法があるならコード例を示して欲しい。responseBodyはすでに過去のもののはず。

528 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 15:11:59 ID:clLu5sZ/0
>>525
jsのHTTPクライアントのXMLHTTPさんが過保護で
普通に取得しても、キャッシュに残ってる+更新されてないと
そのキャッシュを読み込んで返す。
ヘタしたら304さえ返さない。てか304返すなら拾えるし。

キャッシュ読み込むときに文字コードの判定にしくって
文字化けが起きてるらしい。

529 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 15:12:39 ID:???0 BE:63252-DIA(30602)
>>527
そすっと、差分取得はないものとして作れば、
304エラーの問題もなくなると。

dat丸ごとの転送で作ってみて、
既存のread.cgiでの処理との比較をしてみるとか。


530 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 15:13:27 ID:???0 BE:88272-DIA(30602)
>>528

キャッシュを読むときに文字コード指定したりして、
回避することは出来ないんすかね。


531 :せっ☆マ ◆wwwwWwWWWw :2006/08/14(月) 15:14:17 ID:YmRpFYCG0
>>527
リーロードボタンみたいなのを別に設置したらできそうだね

532 :stream ◆PNstream2s :2006/08/14(月) 15:17:31 ID:6OcOUbMJO
>>523
そもそも304の応答にはボディはないからContent-Typeはつけちゃいけないし、mod_header使ってもつけられない。


>>528
>過保護
いやそれごく普通の動作だし、いやならIf-Modified-Sinceに昔の時刻を設定するのが筋でしょ。

533 :root▲ ★ :2006/08/14(月) 15:18:27 ID:???0 BE:2280555-PLT(15697)
>>532
> そもそも304の応答にはボディはないからContent-Typeはつけちゃいけないし、
> mod_header使ってもつけられない。

おぉ、なるほど。
で、IE6 だとその場合、UTF-8 だと思い込んじゃう、ってことなのかしら。

534 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 15:21:27 ID:clLu5sZ/0
>>527
>プログラムを複雑にしてまでやるメリットは薄い
いやまんまこのとおりだからほぼ無意味。

>>530
XMLHTTPの文字コード判定は
サーバーからの指定と
XML文章だったばあいencodingの部分。
あとHTMLの指定ぐらいかな。

それ以外は、自力解釈。わかんない場合UTF-8で読む。
他に設定できない気がした。

535 :stream ◆PNstream2s :2006/08/14(月) 15:52:57 ID:6OcOUbMJO
>>529
まあ、SunOsさんはそれよりも文字コード変換してしまったほうがすっきりするということで実装を進めたようですが

536 : 株価【1600】◆cZfSunOs.U :2006/08/14(月) 16:04:45 ID:WxMZYEQv0
差分取得は>>527ということでやってません.で,304 エラー(というか,別に
Not Modified はエラーではないんですが)は差分取得とは無関係の問題で,
dat が前回取得時から更新されていない場合に起こるということです.
普通のスタティックな html ページなどと同じで,更新されていれば
新たなページ内容が返ってくる,更新されてなければ 304 が返ってきて
ブラウザはキャッシュを利用すると.

ただ,文字コード変換は IE のためだけにわざわざやっているんで,
>>510のようにすることはできます.

537 :root▲ ★ :2006/08/14(月) 16:09:58 ID:???0
>>510の下のほうかなぁ。

538 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 16:10:15 ID:???0 BE:303168-DIA(30602)
おぉ?IEは以外は文字コード変換しなくても
大丈夫なんですか?

539 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:11:18 ID: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

540 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:12:30 ID:pfMHSnaj0
(1)datの先頭に<!--あ-->等の文字を入れておく
(2)まずはsjis版のdatを取得に行く
 先頭の<!--あ-->が化けていない場合は新規取得っぽいのでそのまま表示
 <!--あ-->が化けている場合はキャッシュっぽいのでutf-8版を取り直す

こんな感じで文字コード変換の回数を減らせるかな。

541 : 株価【1600】◆cZfSunOs.U :2006/08/14(月) 16:12:36 ID:WxMZYEQv0
>>538少なくとも Firefox では問題ないようでした.

542 :root▲ ★ :2006/08/14(月) 16:15:07 ID:???0 BE:2554447-PLT(15697)
>>540
「美乳の手法」ってやつでしたっけ。
ただし「美乳」は、euc-jp の時みたいですけど。

543 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:17:17 ID:fNT1qkg10
個人的には<!--ゲイツ氏ね-->とでも

544 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 16:18:00 ID:???0 BE:397297-DIA(30602)
IEのバージョンによってOKだったりするんですかね?


545 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:19:43 ID:pfMHSnaj0
7では直っていることを期待したいですね。

546 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:19:47 ID:LiQ4r6Ez0
>>544
IE7だと大丈夫という説があるけど未確認です

547 : 株価【1600】◆cZfSunOs.U :2006/08/14(月) 16:21:16 ID:WxMZYEQv0
>>540それだと,IE の場合キャッシュを使わず毎回サーバから取ってくるのと
変わらない,っていうか dat の仕様変更になるんで各方面に与える影響が......

# dat の仕様変更するなら,上の方で出てた XML の CDATA セクションに突っ込む形の方が......

548 :root▲ ★ :2006/08/14(月) 16:29:49 ID:???0 BE:2189164-PLT(15697)
dat に「美乳」みたいなの入れる方向は、全く考えてないです。>>547
特定の実装の虫にそういう方向で対応するのは、
管理人が「やれ」といわない限り、ない方向で。

549 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 16:35:58 ID:???0 BE:75762-DIA(30602)
文字化けの問題がIE7で解決されるのであれば、
いずれ解決されるって前提で進めたほうがいいとおもうです。


550 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:47:54 ID:pfMHSnaj0
初回 sjis取得

リロード1回目(更新あり)
   sjis取得
リロード1回目(更新なし 304)
   sjisキャッシュ破棄 → utf-8取得

リロード2回目以降(更新あり)
   sjis取得
リロード2回目以降(更新なし 304)
   sjisキャッシュ破棄 → utf-8キャッシュを表示

・・・混乱してきた。

どうせIE7で直るなら、変な小細工を考えないほうがいいですね。

551 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:51:49 ID:1kFRvFPJ0
UAで判断する方針?

552 : 株価【1600】◆cZfSunOs.U :2006/08/14(月) 16:56:23 ID:WxMZYEQv0
>>118(って今はないのかな?)を IE 7 で見てもらって問題ないなら
文字コード変換かけるのは IE 6 限定ってことでもいいかもですね.

553 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:56:32 ID:oLLYslxgP
>>549
オートアップデートである日突然元の仕様に戻って2ちゃん化け化けとか

554 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 17:14:04 ID: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以外たぶん大丈夫になる。

555 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 17:36:00 ID:fNT1qkg10
まずはSJISのdatを取得して、化けてる(304でキャッシュを開いてる)時だけUTF8版を取りに行く。
更新がずっと無ければUTF8版のキャッシュが表示される。

2回のリロードごとに更新があると効率が悪い。


556 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 23:17:51 ID:LiQ4r6Ez0
>>552
>>508で書きましたけど>>118はもうつながらないです。
read-sjis.jsとかdso上に置けませんか?

557 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 23:37:52 ID:sW64q9m+0
streamカモーン

558 : 株価【1600】◆cZfSunOs.U :2006/08/15(火) 00:38:31 ID:ojmXh8q60
Shift JIS のままの dat を取ってくるなら,>>510の設定を dso に入れてほしいと......

まぁどっちにしろ,少なくとも IE 以外は Shift JIS の dat を取ってくる形にすれば
ムダにはならないんで.

559 :root▲ ★ :2006/08/15(火) 00:49:21 ID:???0
>>510の下の設定を dso に入れるです。

560 :root▲ ★ :2006/08/15(火) 00:53:39 ID:???0 BE:1459182-PLT(15697)
>>559
done.

561 : 株価【1600】◆cZfSunOs.U :2006/08/15(火) 01:00:44 ID:ojmXh8q60
>>559-560乙です.

とりあえず,しばらくの間 IE 6 も含めすべて Shift JIS の dat を取ってくる形にします.
IE 6 の問題体験ツアーってことでw

562 :root▲ ★ :2006/08/15(火) 01:04:45 ID:???0 BE:5746379-PLT(15697)
>>561
だめ出ししようってことすね。了解です。

563 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:05:26 ID:qeiAdM0E0
なるほど。リロードするとおもくそ化けますた@IE6
Firefox 1.5.0.6では問題なし
ではリブートしてIE7で試してみますノシ

564 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:15:29 ID:zanmU7rX0
>>563
ウチのIE6は化けないけど、、、

565 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:21:17 ID:qeiAdM0E0
>>563
read.html更新されてます?
キャッシュの設定は?
とりあえずIE7だと化けませんですた

566 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:21:44 ID:qeiAdM0E0
リンク先間違えたorz
×>>563
>>564

567 : 株価【1600】◆cZfSunOs.U :2006/08/15(火) 01:24:43 ID:ojmXh8q60
Opera/9.01 (X11; SunOS i86pc; U; en) でも問題ない模様.


>>564上の方にも IE 6 で文字化けしないって人がいたけど,それはブラウザの設定で
キャッシュが残らないようになっていたためだったということなんで (>>135),そのあたり確認を......

>>565どもです.IE 7 なら大丈夫そうとなると,dat-utf8 は IE 6 限定でもよさそうかな.

568 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:29:54 ID:v4RrwvPg0
IE5を見放さないで

569 :root▲ ★ :2006/08/15(火) 01:31:41 ID:???0 BE:547823-PLT(15697)
>>568
開発元(MS)って、IE 5.x をまだサポートしていましたっけ。

570 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:32:38 ID:Vjx6htrB0
IE5とIE6は、ちょうど限定して使える、
responseBodyで、クライアント側で文字コード変換しようか。

571 : 株価【1600】◆cZfSunOs.U :2006/08/15(火) 01:36:07 ID:ojmXh8q60
>>568まぁ read.html の対象外となっても決して利用不能になるわけではなく,
単に従来式の read.cgi に振り分けることになるだけなんで......

>>570それって,かなり重いって話もあるようですが......

572 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:37:14 ID:qeiAdM0E0
>>569
IE 5.5はかなり昔にサポートが切れますた
Windows 2000でのみ、IE 5.01がまだサポートされてます
(OSに付属のバージョンなのでOS自体と同じサポート期間)
でもどのみち5.0はダメっぽいので(>>471)
0.4%程度なら(>>469)read.cgiに振っても負荷にはほとんど影響しないでしょう。
>>570
もしかして /dat-utf8 を全廃できる?

573 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:48:15 ID:v4RrwvPg0
マカーos9組は、IE5.1.7でサポート終了してます。(涙

574 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:50:41 ID: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

処理自体はこのぐらい。

575 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:52:49 ID:qeiAdM0E0
>>574
VBならStrConv一発
http://www.f3.dion.ne.jp/~element/msaccess/AcTipsVbaXMLHTTP.html
IEだとADODB.Streamというのが使えたらしいが今はだめぽ
http://ponpon-village.net/ajax/xmlhttp.htm

576 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:53:07 ID: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
ここの手法を用いて逐次表示にして欲しいところ。

文字化けとかは正直よくわからん

577 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 01:58:34 ID:zanmU7rX0
理由はわからないけど何故か文字化けしないっす
キャッシュも残ってるし、、、

578 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 02:01:12 ID:qeiAdM0E0
>>577
read.htmlのソースには datx って入ってる?
dat-utf8 が入ってたらソースが古いのでスーパーリロードとかしてみて

579 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 02:08:14 ID:zanmU7rX0
キャッシュクリアしてみたりスーパーリロードしてからでも化けないっす、、、謎

580 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 02:09:18 ID:qeiAdM0E0
>>574
あ、VBじゃなくてVBSか。VBSにはStrConvはないのね。
どうせIE専用なんだからVBScriptで関数作ってJavaScriptから呼べばいいと思われ

581 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 02:10:09 ID:qeiAdM0E0
>>579
まあ化けない環境が存在するからって化ける環境の対策が不要ってことには
ならないので。

582 : 株価【1600】◆cZfSunOs.U :2006/08/15(火) 02:19:16 ID:ojmXh8q60
でもまぁ,IE 7 で問題が解消するとなると,いずれ IE 7 の割合が増えて
IE 6 の割合が減るなら,mod_charset_lite 利用による負荷は時間が解決してくれる
はずってことで,あえて複雑なことをするまでもないかな,って気もします.
フィルタ通すことによる負荷なら,上の方でも言ってますが mod_deflate による
gzip 圧縮の方がよほど重いんで.

583 :root▲ ★ :2006/08/15(火) 02:25:05 ID:???0 BE:1824645-PLT(15700)
>>582に同意ですね。
IE6 は「長いもの」なので、特別扱いでもまぁしょうがないのかなと。

584 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 06:59:20 ID:i2D78TlA0
長いものに巻かれるというか、長いものに振り回されてる感じ

585 :ひろゆき@どうやら管理人 ★ :2006/08/15(火) 07:01:25 ID:???0 BE:132473-DIA(30604)
んでは、IE6のをdat-utf8にしてみるってことで、
あと解決しなきゃいけない問題ってどんなのでしょう?


586 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 09:04:39 ID:i2D78TlA0
「書き込みました」の画面に書き込んだ投稿の内容を埋めておけば、
書き込み後にdatを再取得する手間が省けるかなあ。

でも、同時に複数書き込みがあったとき(1000ゲットなど)にレス番号表示がおかしくなるかも。

587 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 09:38:33 ID:VQ0W/EIL0
結局datから必要な部分を切り出してUTF-8に変換するCGIを用意するだけに
落ち着きそうな気もしてきた。

588 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 09:44:42 ID:9b41f8lUP
巨大AA貼りつけスレを見ると30秒くらいCPUフル稼働する…
Opera9(Win)

589 :root▲ ★ :2006/08/15(火) 11:15:19 ID:???0 BE:547823-PLT(15700)
さて、ぼちぼち dso サーバの bbs.cgi が吐くリンクを
read.html にしてみようかなと思うわけですが、
単に、

read.cgi/板名/キー/引数

を、

read.html#板名/キー/引数

に変換すればいいのかしら。

590 : 株価【750】◆cZfSunOs.U :2006/08/15(火) 11:52:02 ID:ojmXh8q60
>>585あとは,細かい改良の積み重ねって感じでしょうか......


>>589subback.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 の仕様がちゃんと固まってからの方がいいでしょうけど).

591 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 13:05:38 ID:i2D78TlA0
IEで未読と既読の区別がつかなくなるという問題も。

592 :root▲ ★ :2006/08/15(火) 13:29:16 ID:???0 BE:2554447-PLT(15700)
>>590
ふむふむ。

subback.html が大きくなるのは、ある程度は仕方がないと割り切れるのかな。
何といっても、read.cgi の起動回数が大幅に減るわけで。

> 逆に read.cgi/...... から read.html#...... へリダイレクトさせるのは可能ですが,

これは、read.cgi が一度は起動してしまうのかしら。
dso だから、それでもかなりいいかんじですけど。

>>591
それはあるですね。

593 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 13:32:04 ID:qeiAdM0E0
subbackのリンクは標準では従来通りにして、JavaScriptで
(onclickとかonloadを見張って)差し替えたらどうですか?
どうせJavaScriptが有効でないとread.htmlは使えないんだし
>>591の問題も解決する。

594 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 13:54:23 ID: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>

595 :root▲ ★ :2006/08/15(火) 13:54:27 ID:???0
>>593
面白いかも。

…でも、具体的にはどんな subback を生成すればいいのかしら。

596 :root▲ ★ :2006/08/15(火) 13:55:04 ID:???0
>>594
おー、かぶりました。

subback の頭に入れればいいのかしら。

597 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 13:58:25 ID:qeiAdM0E0
>>596
yes. <head>〜</head>の間のどこかです。
手元ではとりあえずIEとFirefoxで動いてるみたいです。

598 :root▲ ★ :2006/08/15(火) 14:04:26 ID:???0
subback.html はこれでやってみるとして、
index.html は、どんなかんじになるのかしら。同じでいいのかな。

599 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 14:08:05 ID:qeiAdM0E0
>>598
試してみましたけどindex.htmlの場合は
<a href="#1">
のリンクを踏んだときの動作が微妙ですね。ちょっと改良が必要かも。

600 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 14:11:18 ID: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>

601 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 14:13:01 ID:qeiAdM0E0
subback.htmlも>>600のほうがいいです。

602 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 14:14:37 ID:qeiAdM0E0
あ、すみません。最後の行は
//--></script>
にしてください(先頭に // を入れる)。

603 :root▲ ★ :2006/08/15(火) 14:14:46 ID:???0
どもです。

同じものを両方に入れればいい(サブルーチン一つ書けばいい)のかしら。

604 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 14:15:42 ID:qeiAdM0E0
>>603
はい。細かいところはお任せします。

605 :root▲ ★ :2006/08/15(火) 14:32:20 ID:???0 BE:2919348-PLT(15700)
dso に入れてみた。< bbs.cgi

で、
#RewriteRule /?read\.cgi(?:/(.*))?$ /test/read.html#$1 [R,NE]

を、コメントアウトした。

606 :root▲ ★ :2006/08/15(火) 14:35:58 ID:???0 BE:2554447-PLT(15700)
ランタイムエラーが出るみたい。ううむ。

607 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 14:36:34 ID:qeiAdM0E0
>>605
/read.cgi\//
の \ が抜けて
/read.cgi//
になってるので、正常に動いていないようです。

608 :root▲ ★ :2006/08/15(火) 14:37:39 ID:???0 BE:3283766-PLT(15700)
ここかな。

t.href.replace(/read.cgi//, 'read.html#');

609 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 14:38:54 ID:qeiAdM0E0
""で囲んでるなら\も二重にしないと。

610 :root▲ ★ :2006/08/15(火) 14:39:35 ID:???0 BE:2463539-PLT(15700)
>>607
\\ にしてみた。< bbs.cgi

どうかな。

611 :root▲ ★ :2006/08/15(火) 14:40:58 ID:???0 BE:5745997-PLT(15700)
いい感じみたいですね。
リンク押しても紫にならないけど(それはしょうがないか)。

612 :動け動けウゴウゴ2ちゃんねる :2006/08/15(火) 14:42:49 ID:qeiAdM0E0
Firefoxではうまくいってる予感

613 :root▲ ★ :2006/08/15(火) 14:46:45 ID:???0 BE:2736465-PLT(15700)
Sleipnir (IE6 エンジン)では、うまくいっているみたいです。

これ、いいすね。
で、JavaScript なしバージョンだと、普通に read.cgi ですか。

read.cgi を read.cgi という名前で*も*、有効にしてきます。
SunOS さんが read.so のところを read.cgi にしたら、
read.so はなしにします。

614 :root▲ ★ :2006/08/15(火) 14:48:54 ID:???0 BE:1641492-PLT(15700)
>>613
これで、普通に read.cgi は read.cgi として起動するようになった。

317KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30