問題タブ [getscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - キャッシュをクリアした後、getscript が機能しない
getscript() を使用して、画像ギャラリーのスクリプトをロードしています。ギャラリーをクリックするとすぐに、次のコードが実行されます。
まず、Chrome コンソールに移動します -> [ネットワーク] タブを右クリックします -> ブラウザのキャッシュをクリアします -> ページを更新します -> 写真をクリックします。「soundswaste1」というアラートが出て効果が発動しません。画像はページ上に並んでいるだけです。
次に、「写真」をもう一度クリックするだけで、両方のアラートをそれぞれ2 回受け取ります。2 つの質問 :
キャッシュをクリアすると、すべてのスクリプトが最初に読み込まれないのはなぜですか。それらが異なるパスにあるためですか?
アラートを2 回目に 2 回受け取るのはなぜですか?
javascript - Jquery getScript caching
By Default $.getScript() disables caching and you can use $.ajaxSetup and set caching to true. When testing if the script is actually cached with Firebug most of the time the script is coming back at 200 (Which means the script is a fresh copy) and one in maybe 20 or 30 times it will come back 304 (meaning it used a cached version). Why is it getting a new copy the vast majority of the time?
The files that getScript retrieves have not been edited and the requests are a page change apart.
javascript - メインページでjavascriptを取得して、jqueryを使用してajaxロードされたdivの要素に追加する方法は?
jquery load 関数を使用して div を切り替えています。javascript を実行する必要がある ajax を介して特定の要素をロードするたびに、div では機能しません。これは、最初のページの読み込み時に要素が dom に存在しなかったためだとわかっています。
私は何日もグーグルで検索しましたが、わかりやすい説明が得られる答えが見つかりませんでした。基本的に、.on
orだけを使用するように言われました$getScript
。
しかし、これは適切な答えではないようです。div にロードされた各要素には同様のプロパティがあるため、単に jquery ライブラリをロードし、インデックス ページのヘッド セクションに同じ 2 つの外部スクリプトをロードし、それらのスクリプトが「ライブ」のままになるか、単純な要素に追加されるようにします。 ajax を介して div に外部からロードされている html コンテンツ。
たとえば、page 1
bouncecats という名前のpage 2
div と bouncedogs という名前の div がある場合、どちらも「bounce」という名前の外部 JavaScript を必要とします -インデックス ページの head セクションに 1 回だけ JavaScript ファイル「bounce」をロードしたい-次に、インデックス ページの bounceanimals という名前の div を猫または犬のいずれかと動的に交換します。
これまでのところ、私が得ている唯一のアドバイスは、 jquery ライブラリとbounce.js
ファイルを の最後と の最後にpage 1
置くことだけのようですpage 2
。これはもちろん機能しますが、冗長すぎるようで、もちろん ajax の読み込みが遅くなります。
jquery ライブラリと外部 javascript ページをインデックス ページ ヘッドに一度だけロードし、ajax 経由でコンテンツを div にロードするときにそれらを実行する方法を知っていますか?
私が抱えている問題は、スクリプトをbounce.js
自分で作成していないことです。スクリプトは既に最小化されているため、スクリプトを変更することは非常に困難であることが判明する可能性があります。外部の JavaScript リンク自体をラップできるものはありますか?
jquery - JQuery getScriptwithlivequery-非同期実行で結果が失われる
私たちのサイトのいくつかのjsファイルに含まれている「ユーティリティ」js関数があったので、コードの繰り返しを減らすために、それをユーティリティファイルに移動し、すべてのjsファイルを変更してロードしてからで使用しましたgetScript
。これはほとんどの場合に機能しましたが、livequeryを使用する1つのコードで、エラーが発生します。
新しい関数を使用する必要がある場合は常に、正常に使用しているコード:
前のコード:
基本的に、「preview」のクラスを持つ要素がシーンに表示されるたびに、rel属性を解析して、新しく解析された文字列に置き換えます。
後のコード:
$('.preview').livequery
問題は、これが呼び出しのコールバックを実行する前にループの次の反復に続くように見えることgetScript
です。したがって、preview
変数は、そのrel属性を適切な値に置き換える前にリセットされます。これを正しく実行するにはどうすればよいですか?
jquery - getScript()のデバッグ
Google Chrome(Chromium)を使用して$.getScript()
、外部スクリプトがWebページに読み込まれるのを監視/確認することはできますか?
基本的に、ユーザーの好みに基づいて多くのスクリプトをWebページに動的にロードしていますが、問題が発生しています。特定のスクリプトが挿入されているかどうかを確認し、挿入されている場合は、挿入されているかどうかを確認したいと思います。 1回、または複数回挿入されます。
javascript - スクリプトが既にロードされているかどうかを検出する
helloworld.js
クリック回数に応じて複数回読み込まれるようです#load
。これを言うのは、Google Chromes Developer Tools Network タブを見ると、helloworld.js
クリックした回数だけ表示されるから#load
です。
関数は次のhello()
ようになります。
helloworld.js
すでにロードされているかどうかを検出することは可能ですか?
したがって、ロードされていない場合はロードし、ロードされている場合はロードしないでください。
#load
これは、ボタンを 4 回クリックした場合に開発者ツールに現在表示されているものです。
jquery - $.getScript への変数の送信
を使用してロードされたスクリプトに変数を送信することは可能$.getScript
ですか?
現時点で私は持っています:
しかし、ロードされたスクリプトに変数を送信したいと思います。これは可能ですか?
例えば
jquery - クロスドメインの getScript() AJAX リクエストから転送されたコンテンツにアクセスするにはどうすればよいですか?
jQuery (1.7.2) getScript() AJAX メソッドを使用して、JavaScript が埋め込まれた外部 (クロスドメイン) HTML ページを取得しています。ドメイン間の制限がないため、getScript() コマンドに「script」データ型を使用しています。ブラウザの JS コンソールで、getScript() リクエストに相当する次のコードを使用します。
これは「成功」を返しますが、結果はありません。
コンソールは、コンテンツがスクリプトとして解釈されたが、MIME タイプ text/html で転送されたことも示しています (これは、使用している URL が HTML ページ用であるためだと思います)。ブラウザーの JS コンソールのネットワーク パネルを使用して HTML データにアクセスできるため、HTML データ全体がクライアントに転送されたことがわかり、正しい KB 数が実際に転送されたことを確認できます。
転送されたコンテンツを手に入れて解析を行う必要があるだけなので、MIME メッセージについて心配しているのかどうかはわかりません。この転送されたコンテンツ (クライアント側のどこかにある) に jQ/JS を使用してアクセスするにはどうすればよいですか? アクセスできない場合、ブラウザ コンソールのネットワーク パネルからアクセスできるのはどうしてですか?
jquery - jquery getScript関数は決して失敗しませんか?
jQuerygetScriptの失敗関数が呼び出されることはありません。このフィドルを参照してください:http: //jsfiddle.net/getsetbro/8xNMs/
そして、完全な関数が呼び出されることはありません:http: //jsfiddle.net/getsetbro/ns6yQ/
ああ、IEでは、失敗したはずのときに実際にSUCCESSとCOMPLETEを起動します。= [
javascript - グローバル変数と $.getScript の操作が難しい
正しく動作しない次のスクリプトがあります。
これは次のように呼ばれます。
$.getScript
これにより、関数内で関数が実行され、グローバル値に値が割り当てられ、ループの反復ごとに実行されると思いました。しかし、それは起こっていません。ループが終了するまでループを反復しているように見えます.3回ループし、毎回、つまり3回グローバル値に値を割り当ててから、最後に$.getScript
.
もちろん、$.getScript ファイルのグローバル値の最後の割り当てを 3 回しか使用しないため、これは機能しません...
これを変更してグローバル変数に値を代入し、$.getScript
. 完了したら、元のループを続行し、次の値をグローバル変数に割り当て、$.getScript
ループが終了するまで実行します。