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つでした。

も~疲れるわ~これ。
備忘録として書きとめる。