- 締切済み
サーバなしでXMLHttpRequest稼働
XMLHttpRequestをJavaScript で動かしています。サーバーはApache をインストールしています。 タスクマネージャのサービスで Apache を停止を確認しているのに、XMLHttpRequestが稼働します。 正確にはブラウザについて、Chromeでは正常、 IEとFirefox では稼働するので異常。 IE ------ どのディレクトリでも XMLHttpRequest 稼働。 Firefox -- どのディレクトリでも XMLHttpRequest 稼働、FileAPIおよびドラッグ&ドロップも可能。 Chrome -- Firefox Apache動作中で localhostのルート下のみ、XMLHttpRequestやFileAPIが稼働。 Microsoft Studio 2012 と Eclipse Java EE IDE をインストールしているの影響しているのでしょうか。 サーバなしで、XMLHttpRequestを稼働させない方法を教えて頂きたくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- dscripty
- ベストアンサー率51% (166/325)
質問の意図を読み取れてるか自信ないけど。。。 <!DOCTYPE HTML> <html lang="ja> <head> <meta charset="UTF-8"> <title>location.protocol で振り分ける</title> </head> <body> <h1>location.protocol で振り分ける</h1> <script> var allow_protocols = [ 'http:', 'https:' /* ... */ ]; var is_allowed = false; for (var i=0; i<allow_protocols.length; i++) { if (location.protocol === allow_protocols[i]) is_allowed = true; } if (is_allowed) alert('location.protocol が ' + location.protocol + '\nなので XMLHttpRequest を使って何かする'); else alert('location.protocol が ' + location.protocol + '\nなので何もしない'); </script> </body> </html>
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
>タスクマネージャのサービスで Apache を停止を確認しているのに、XMLHttpRequestが稼働します。 XMLHttpRequestはタスクマネージャーに表示されません。 なにか別のものと勘違いされていると思います。
お礼
taloo さん、ありがとうございました。今後、当方にとってパソコンが 益々判りにくいものとなるかも知れませんが、HTML5 に期待することとします。
補足
下記(1)はOKで、(2)で困っています。 (1) 当方の場合、サーバーApacheの動作中/停止で、 ブラウザーのアドレスlocalhost/・・・が可/不可となり、 Google chromeについてはXMLHttpRequest()の可/不可 となっています。皆さんの場合も、file:///C:/・・・の場合は、 XMLHttpRequest() が起動しないと思います。 (2) ieでC:\・・でActiveXObject("Msxml2.XMLHTTP")が起動可、 Firefox でfile:///C:/ で XMLHttpRequestが起動可、 となっています。 (蛇足ですが、このFirefoxでファイルAPIも起動可) 皆さんの場合も、起動可でしょうか? もしそうなら、 当方は安堵し、問題解決 OK となりますが。 当方のパソコンはサーバ Lanman が常に動作中です、 この為、起動可となっているのでしょうか? Lanmanの停止が出来たら、起動不可となるのでしょうか?
お礼
ANo.2 さん、ありがとうございました。 当方の質問の仕方がまずくて、済みませんでした。
補足
ありがとうございます。ただ当方の質問では、location.protocol は file です。 なお、自宅サーバーApacheでブラウザのアドレスを localhost/・・・ にした場合は、 location.protocol は http となります. ファイル呼び込みにおいて、IEでは、 呼び込みをフルパス指定でFSOおよび、XMLHttp の両方使用可能で、Firefox や Chrome では、File API の使用が可能で、すなわち一般のブラウザでは、ファイルの 読み込みを shift-jis か utf-8 かを ほとんどの場合選択出来ます。 ただ、 そのファイルの中身の日本語がshift-jis か utf-8 かが 本当に問題ですよね。 追記ですが、location.protocol で、 マウスカーソルが 砂時計付き矢印なりま した、if(location.href.substr(0,5)=="http:"){}の方が無難な気がします。