質問

function publish(text) {
 $('#helpdiv').prepend(text);
}

function get_help(topic) {
  $.get(topic, publish);
}

<p>Hi. <a href="#" onclick="get_help('inline-help.html'); return false;">click here for more help.</a></p>
<div id="helpdiv"></div>

上記のHTMLとJavaScriptのこのチャンク(スニペット)を継承しました。それは地元の助けとして使用されていました。現在、オンラインのみであり、正常に機能しています。ただし、ファイルをローカルにコピーすると、インターネットエクスプローラーで「許可を拒否された」ことができます。Chromeでは、「もっとヘルプを求めてここをクリックしてください」とは何もしません。それがすべきことは、Inline-help.htmlからヘルプコンテンツをロードし、HelpDiv Divに表示することです。ここにキッカーがあります。同じファイルを使用してPCのinetpubにコピーしてロードすると http://localhost/hello.html 完全に機能します。

おそらく、これは「ローカル」ゾーンがユーザーのHDからファイルをロードすることができないセキュリティのものですか?しかし、私は何が起こっているのか本当にわかりませんし、この問題をさらに理解し、回避策を思いつく可能性があります。

どんな洞察も大歓迎です。

役に立ちましたか?

解決

jQueryの「Get」はXMLHTTPREQUESTを使用しますが、残念ながらローカルファイルでは機能しません。ローカルデータ(または異なるドメインからのデータ)を非同期に取得できる必要がある場合は、動的なスクリプトタグを使用する必要があります。ただし、それはデータファイルをJSONデータとして再フォーマットする必要があることを意味します。

他のヒント

私はあなたのブラウザがあなたがローカルでJavaScriptを実行することを許可しているとは思わない( file:/// アクセス方法)。しかし、あなたがそれをロードするとき http://localhost/ 正常に動作します。

Webサイトで開発するか、LocalHostサーバーを使用する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top