read.js 2006ーJavaScriptはCGIの夢を見るか -2-
■ このスレッドは過去ログ倉庫に格納されています
read.cgiをjavascriptで実現させるプロジェクトのスレッドです。
life7で試験運用中。。。 とりあえず,IE 6 の場合デフォルトで CGI モードになるようにしてみますた.
ただ,これまでに設定された Cookie が残ってるとそのままですが.
# IE 7 以上,Firefox や Opera は従来通り.
>>459 ブラウザの種類やちゃんと表示されないという状況をもうちょっと具体的に教えてもらえると
参考になりますが......とりあえず CGI モードにすれば何とかなるのではないかと......
>>460 >>325 の方でしょうか? たぶん Pango が西欧系言語と勝手に判定して
フォントが変わってしまって,しかもフォントの文字幅を正しく把握していないために
起こる現象のような気もしますが...... >>338 で指摘されてる globaladvance については,
当方の fonts.conf ではこんな感じですね.
<!--
Some Asian fonts misadvertise themselves as monospaced when
in fact they are dual-spaced (half and full). This makes
FreeType very confused as it forces all widths to match.
Undo this magic by disabling the width forcing code -->
<match target="font">
<test name="family"><string>GulimChe</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>
<match target="font">
<test name="family"><string>DotumChe</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>
<match target="font">
<test name="family"><string>BatangChe</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>
<match target="font">
<test name="family"><string>GungsuhChe</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match> すいません。明らかにスレ違いだと思うんですが
スレタイの元ネタ教えていただけませんか? PDAから書き込んだからてっきりID変わるかと思ってたけど違うんだね >>461氏。
IE6ですが戻してもらって良かったです。
>>465
IDはサーバーorIP変えたら変わるんじゃないのかな、、、。 今は IE 6 ではデフォルトを CGI モードにしてるだけなので,自分で JavaScript モードに設定すれば
使えるわけですが,IE 6 を完全に対象外にすれば dat-utf8 とか不要になるんですよね.
さらに bbs-utf8.cgi の方も bbs.cgi 自体に取り込めば mod_charset_lite も不要になる,と.
そしてさらに Apache の設定も工夫すれば,httpd.conf をいじらずとも .htaccess だけで
何とかできるのかな.そうなると root 権限のない鯖に入れる道も開けるかも,と...... うーん冗談で言った>>421の通りになったw
ひろゆきの誕生日に導入ってのも的中したし。 bbs-utf8.cgiって何をするんでしたっけ?
で,現状の設定で httpd.conf に入れなければならない項目は
1. mod_charset_lite
2. dat-utf8
3. bbs-utf8.cgi
4. datx
というところですが,>>472 の通りにすると 1.?. が不要になると.
残るは 4. ですが,なぜ dat と datx を分けてるかといえば,
Cache-Control ヘッダが c.2ch の Squid に与える影響が心配なためですね.
であるなら,c.2ch が dat を取りに来る時の User-Agent がわかれば
BrowserMatch とかで振り分け可能なので,datx として分ける必要もなくなると.
そうなると,read.html 関連の設定は全部 .htaccess に移行可能と.
で,あとは bbs.cgi 側も含め,例えば /test/read.html という
ファイルの存在の有無で read.html 用設定が有効になるか否かが
決定されるようにすれば,read.html を置いたり消したりするだけで
切り替わるようになる,と.これで,root 権限の有無を気にせず
read.cgi が止まってる鯖で read.html を動かすとかいうことも
可能になるかな......
>>474 XMLHttpRequest で POST する場合は仕様上 UTF-8 でしか行えないので,
現状では bbs-utf8.cgi という名前で bbs.cgi が呼ばれた場合は
mod_charset_lite で文字コード変換してから bbs.cgi に渡してます.
# bbs-utf8.cgi という CGI があるわけではなく,bbs.cgi に対する Alias です・
で,コード変換のオーバヘッドが気になるところかも知れませんが,
その代わり URL エンコーディング(%xx 形式に変換するやつ)は
必要最低限の文字 (%&+=) にしか行ってないので,そのデコードによる
オーバヘッドは通常のフォームからの POST よりむしろ少ないので,
差し引きでおあいこぐらいかなぁ,と...... >>476のを試してみて、リソースの消費具合を見てみるとよいのではないかと。。。
>>475あまりに見事にスルーされててかわいそうになった;
嘘を嘘と見抜ける人でないと(ry
や、、、ほんとかもしれんけどソースネーじゃん 名前欄に書いてないだけで上の携帯厨だからほっとけよ。 >>476 のを進めるとすると...... .htaccess のスケルトンみたいなのは
どこにあるのかなぁ,と......
で,c.2ch から取りに来るのは Monazilla/1.00 (classic/...) という
User-Agent のようなので,pastdat.so 同様に Monazilla 除外って
ことにすればいいっぽいですね.
あと,bbs.cgi では現状でも use Jcode とかやってる箇所がありますが,
ということは Jcode は全鯖に入ってるってことでいいんですかね.
であれば,文字コード変換機能を取り込むならそれを使うということで.
Perl 5.8.1 以降なら Jcode は Encode へのラッパになってくれるようですし. >>485
> ということは Jcode は全鯖に入ってるってことでいいんですかね.
そのはずです。 >>482>>484この人、ストーカーまがいな事をするんです。
私が名無しでレスしても、探り当ててくる粘着変態男なんです゚(ノд`゚)゚・。
答えはID見てもらえたら、必ず解ります!(つд;*) >>487
まぁ、最近ひろゆきならVIPに沢山いるんじゃない??
沢山って、数の話ね。ID見えてるひろゆきだけど。
ここに張り付いてないでそっちの方が沢山お喋り出来ると思うよ。
自分はストーカーでないの??? とりあえず bbs.cgi に文字コード変換機能は入れますた(まだ実際には使ってない).
ただ,Jcode が Encode へのラッパになってる場合は CP932 を扱えるんですが,
そうなってないと CP932 を扱えないんで......仕方ないので bbs.cgi では
普通の Shift JIS への変換を行うことにして,CP932 と Shift JIS の差異は
read.js の POST 段階で吸収する方向で......
あと,.htaccess のスケルトンは何となくわかりますたが,新たな問題が......
root 権限のない鯖では mod_headers が入ってない模様.となると,
Cache-Control ヘッダを入れるには...... dat へのアクセスを DSO プログラムに振って,
そちらでヘッダを付加しつつコンテンツを返すとかしなきゃならんのかな......
まぁ sendfile() で単純に返すような処理だけなら,デフォルトハンドラでの
処理と比べてさほどオーバヘッドが発生することもないでしょうけど. いい事考えた。
JSPにしてサーバ側で実行するようにすれば軽くならね?
【本末転倒】 すいません、生活板とバーゲン板に書き込みしたら
どうしても文字化けするんですがw何とかしてください。 まず環境をお書きなさってください
ブラウザの名前、バージョン、OSなどなど。。 IE6・WinXPです。
昨日は普通に書き込みできていましたが、さっき書き込んだら
急に今まで見たこともないような文字が出せるようになってしまって驚きました。 メンヘルサロンに書き込んだら・・・
タイトルもIDも本文も、
「ここ壊れてます」ってのになって投稿されてました(怖)
どうしてでしょうか?
すみません<文字化け mod_charset_lite を使わず bbs.cgi 内での
文字コード変換に移行させてたんですが,その際に不手際がありました.
speedy_backend が更新され次第直っていくかと...... 日本語で書き込みできるようになりました、ありがとうございました。
お手数おかけしました。
二重投稿してしまってすみませんでした。 >>502
いやいや、
そのぐらいで ▲ だったら、私なんかどうなることやら。 不手際でご迷惑をおかけしましたが >>489 の前段は完了と.
で,後段ですが,普通のスタティックファイルでも server/core.c の
default_hander() のような処理はしてるんで,それと似たような処理を
DSO でやってる限りは負荷も同じようなもんだと思うんで,
とりあえずそれを試してみる方向で...... あ......そうそう,おにぎりは頂いておきます...... Windows XP+IE7でlife7にアクセスするとCGI版に飛ばされます。
JavaScript版をデフォルトにしようと、[read.cgi モード切替]の
リンクをクリックしたところ「Cookie が無効になっているか、あるいは
サポート外のブラウザです。」というアラートがポップアップします。
アドレスバーでread.cgiをread.htmlに変えればJavaScript版が利用
できます。IE7って、何か設定しないとJavaScript版をデフォにできない
んでしたっけ? お忙しい所すみません。494なんですが・・・
どうしてこんなことになっちゃうんでしょうか。 >>508 >>500 のミスの影響で,UTF-8 のまま書き込まれてしまったためかも知れません.
今は大丈夫ですか? >>507
はいー。[ツール]メニューの[インターネット オプション]で[プライバシー]タブの
設定を「すべての Cookie を受け入れる」にしても>>506の状態なのです。
なんかポカやってるかな……。 >>509
今試しにまた書き込んでみたら、正常に作動しているようです!
ありがとうございます。どうもお騒がせしました。 自分もXP+IE7ですが>>506と同じ状態ですね。
>>333の頃はちゃんと動いてたんですけど、最近は見てなかったので
いつからこうなったかはわかりません。 >>488私は被害者です。
どうして名無しで書き込みしているのに、すぐに誰が書き込みしているか分かるんですかね?
>>482>>484このストーカーまがいな事をする変態男を、どうにかIP調べてもらえないでしょうか?
必ずと言って良いくらいに、私のレスしたスレに、どこへも飛んで出てきますから。
ひろゆきさんに、調べてもらえれば、答えはあります! IE 7 で JavaScript モードにできない人は,以下のページを表示させた際に
何か気付いたことあったら教えて下さい......
http://dso.2ch.net/myanmar/_subback.html >>515 早朝までお疲れさまです。
>>515のページにアクセスし、[read.cgi モード切替]のリンクをクリックしたところ、
JavaScriptモードとCGIモードを切り替えられました。
また、以下の内容のCookieファイルが生成されました。
--
READJS
"on"
dso.2ch.net/
1600
1087609984
29831446
1218691344
29825411
*
--
いったんIE7を終了させ、再び起動して、再び>>515のページにアクセスしたところ、情報バーに次の
メッセージが表示されました。
「この Web サイトはスクリプト化されたウィンドウを使用して情報を依頼しています。この Web サイトを
信頼している場合、ここをクリックして、スクリプト化されたウィンドウを許可してください…」
情報バーをクリックすると、「スクリプト化されたウィンドウの実行を一時的に許可」と「詳細情報」を
選ぶことができるコンテキストメニューが表示されます。前者を選ぶと情報バーが消えるだけで
動作が変わったようには見えません(見えないだけかも)。後者を選ぶとIE7のヘルプが表示されます。
ヘルプには次のように記載されています。
、
「Internet Explorer は、Web サイトが小さいプログラム (スクリプトと呼ばれる) を使用して別のウィンドウを
表示するのをブロックしました。ハッカーはスクリプト化されたウィンドウを使用して、ログイン画面などの、
Web サイトに表示される正規のウィンドウを模倣する場合があります。Web サイトを信頼しており、
スクリプト化されたウィンドウの表示を許可する場合は、情報バーをクリックして [スクリプト化された
ウィンドウの表示を一時的に許可する] をクリックします。スクリプト化されたウィンドウの表示を常に
許可するには、カスタム セキュリティ設定の [スクリプト化されたウィンドウを使用して Web サイトが
情報の入力を求めることを許可する] チェック ボックスをオンにします。」
これに従い、[ツール]メニューの[インターネット オプション]の[セキュリティ]タブで、インターネット
ゾーンの[レベルのカスタマイズ]ボタンを押し、「スクリプト化されたウィンドウを使って情報の入力を
求めることを Web サイトに許可する」で[有効にする]ラジオボタンを選択してIE7を再起動しました。
IE7を起動してから三度>>515のページにアクセスしたら、[Explorer ユーザー・プロンプト]が開きました。
「おながいします」メッセージに従って報告します。テキストボックスには以下のメッセージがありますた。
「TypeError: オブジェクトを指定してください。」
以上、報告終了です〜。 >>515
>>516の人と同じ状態です。
ちなみにVirtual PC上のXPsp2+IE6sp2だと最初のアクセスでエラーが出ます。
手元のIISで簡易版を作って試した所index.jsのscriptタグのdeferを取るとちゃんと動くみたいです。
問題なければ試してみてください。 書き込めない 書き込みない 何故か 書き込み中・・・・・・なが〜〜い
やれやれ?? 帰ります。 シルバーバーチとFと霊医殿の内緒ストックで
のFこと キショイ かな? と思われてる 小母さんでした。 ウィルコムのPHS WX300Kを使っているのですが、昨日からread.cgiモード切り換えができなくなっています。
板トップのread.cgiモード切り換えのところをクリックしても切り換わらなくなりました。 表示まで時間がかかってメンドくさい
今までので良いよ
>>516-517 ご報告ありがとうございます.
>index.jsのscriptタグのdeferを取るとちゃんと動くみたいです。
↑これやってみますた.どうでしょうか......
>>520 CGI モードにすれば従来通りになります.っていうか,
切り替えができない状態の時は強制的に CGI モードになっていたのでは......
で,>>504 の後段もやってみますた.pastdat.so を改造して anydat.so というのを作り,
ライブな dat と過去ログ両方扱うようにして
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/test/anydat.so -f
RewriteRule /?\d+\.dat$ /test/anydat.so
というのを .htaccess に入れますた.これのソースは dso 上で
pastdat のソースの近くにあります. お疲れ様です、昨日>>496のスレでお世話になったものです。
さっきバーゲン板のスレに飛んだら読み込みからエラー画面になり、
下のほうの「スレッド保存はここを右クリック」を普通に左クリックしたら
通常のスレ画面になりました。
使っているのはIE6・WinXPです。 >>522 read.js の更新と交錯したかな......いったん Ctrl+F5 とかで強制再読込してみて下さい. さっき見直したら元通りになっていました。もう大丈夫だと思います。
ありがとうございました。 >>521
乙です。
IE6,7どちらも正常にモード切替できるようになりました。 >>526 あら......すみません......
ただ,anydat.so が存在しない場合はその RewriteRule が効かないように
RewriteCond 入れたのに,なぜ副作用が出るのかちょっとにわかにはわからないので......
その RewriteRule 外すと read.html は動かないと思うので,原因がわかるまでは
普通の read.cgi 使ってて下さい. >>530
root 権限なしサーバの一部? で、起こったようですね。
hobby8 とか bbspink 系とか ex9 とか、そのへんかな。
Apache のバージョン由来なのかも。
いずれにせよ、ログを見れば何かわかるはず。 403 エラーになっていたのかな。
ログは、SunOS さんが見てみるといいかもです。 とりあえず四つそろったので消えても良いんじゃないか?>▲ >>531-532 access_log より error_log を見たいんですが,
なんか見られない場所にあるのかな......
ただ,RewriteEngine On だけで 403 になるっぽいので,
おそらく mod_rewrite が入ってない悪寒...... 文字化けしまくりです@身体・健康板
ttp://life7.2ch.net/test/read.cgi/body/1163860866/
569:?a??????????:2006/12/07(??)21:10:30
????????肢?????H???d???E
みたいな感じ
昨日までは大丈夫でした
urlをread.soにすると元通りになります >>535 >>530 ってことで.
ただ,>>534 とすると <IfModule> 使えば解決できるのかな...... <IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>
でも 403 っぽい.何だこれは...... >>533
5つになったら、SunOS ★ を発行するということで(w。 >>538
ううむ。ちょっと不思議ですね。
しかも普通のアクセス(datとかhtmlとか)はエラーにならなくて、
read.cgi とか bbs.cgi がエラーになったっぽいみたい。 「ここ壊れてます」ってずっと出て見れません・・・
どうしてですか? 品川美容外科被害者スレが文字化けしている・・・・
工作員の仕業か? なんかわかったかも......おそらく,httpd.conf(見られないけど)に
RewriteRule ^/test/ - [F]
のようなのが RewriteEngine Off の状態で入っていて,
RewriteEngine On にするとそれが発動してしまう......のかも.
ということは,RewriteRule を <Files *.dat>...</Files> で囲めば
Ok かもということで,hobby8 でちょっとやってみたらビンゴっぽい. mod_infoが入ってるなら .htaccessで SetHandler server-info >>545
ううむ、、、なかなか深いですね。
で、そういう記述は root 権限なしサーバの全部に入っているわけじゃなくて、
たぶん比較的古くに導入されたサーバにだけ入っている、というオチですかね。 これで逝ってみます.
<IfModule mod_rewrite.c>
<Files *.dat>
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/test/anydat.so -f
RewriteRule .* /test/anydat.so
</Files>
</IfModule> hobby8 のバーボン逝きも life7 の文字化けも直ったかな......
ただ,>>545 のようなのが httpd.conf に入ってる鯖では,
/test/ 配下のファイルには RewriteRule でのリダイレクト設定が不能,
つまり read.cgi 宛のリクエストを read.html に振るってのができないってことか......
直接 read.html を呼ぶ形なら使えるんでしょうけど. >>551 は,read.cgi 側で Cookie 調べたりして RewriteRule の設定を
エミュレートするって感じになるか......でも,RewriteRule の regex 処理より
DSO (=read.cgi) 内部で飛ばした方がむしろ意外と軽かったりして. >>555
なんかすっきりして見えるけど錯覚だよなw ▲▲▲▲
ツ梅お紅
ナ干か鮭
マしか
ヨ
ネ
ー
ズ >>556
2ちゃんねるブラウザのbbs2chreaderでdatの取得時にエラーが出るようになりました
症状が起きたのは昨日あたりから
症状が起きるのはlife7すべて、それ以外はまったく正常
取得したdatを見てみたら先頭と最後に何かゴミのようなものが付いてました
http://up2.viploader.net/pic/src/viploader366749.jpg.html
pass:js
2ちゃんねるブラウザには影響が出ない実験と言うことだったので、このスレ追ってません
何が作用しているかは分かりませんがよろしくお願いします
Fxで書いてるからノtasukeruyoしても意味無いけど一応ノtasukeruyo
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8 ■ このスレッドは過去ログ倉庫に格納されています