jQueryで.loadを使おうと思ったら、
…あれ、全然動かねえ!!
…なんでやねん!!
となった時に、ぜひ確かめていただきたいネタです。
Chromeさんがしっかりしすぎていたせいで大分時間がムダになった
今日はちょっとグッタリなマツモトです。単なるload関数を使いたかっただけですが、
ど~~しても動かず、
え、なんでだろう…と小一時間くらい悩んでおりました。
サンプルスクリプトは以下。
function hogehoge() { $("#insertID").load('./some.html','img:first',''); }
なんてこたーない、本当にテストスクリプトです。loadしたhtmlから画像呼び出すだけ。
ただ。
これが、
ど~~~してもChromeで動かないのさ!(泣)
なんで?ディレクトリ?引数?WHY??
さんざん試して、分かったのは衝撃の事実!
Chrome: ローカルWebページからのアクセスをローカルファイルシステム上のファイルに限定(ステップ5は困難)。ネット上のWebページからローカルファイルへのアクセスは拒否(ステップ2は困難)。開発の利便性や現状を加味してローカルWebページにおけるJavaScriptの実行は許可
Chromeセキュリティモデル、IE/Firefox/Safari/Operaのいいとこ取り
い、いいとこどりなんだ…。
まぁ、セキュリティの観点から見て、そうしているならば仕方ないか。
うん…。
うん……。
回避策としては起動オプションをいじる
参考サイト:Google Chromeの起動オプション
Step1:ショートカットの作成
Step2:作成したショートカットを右クリック→プロパティで開きショートカットタブのリンク先の後ろに「–allow-file-access-from-files」を追加する。
正確には、
“C:\Documents and Settings\kaneko\Local Settings\Application Data\Google\Chrome\Application\chrome.exe” –-allow-file-access-from-files
allowの前にハイフン2つでした。
も~疲れるわ~これ。
備忘録として書きとめる。
1件のコメント
1件のピンバック