1

ECサイトを運営しています。注文確認ページでは、オプションのアンケートを自動的に実行するサードパーティの JavaScript を実行しています。

調査の問題は、実行に 20 秒かかり、重要な「注文完了」ページのレンダリングが遅くなることです。

顧客がボタンをクリックするまで、このスクリプトが読み込まれないようにしたいと考えています。

理想的には、スクリプトを実行せずにページがロードされます。ページには、「アンケートに回答しますか? はいの場合は、ここをクリックしてください」というテキストが表示されます。次に、ページはサードパーティの JavaScript を呼び出して調査コードを実行します。

以下はサードパーティの JavaScript です。最初のスクリプト タグは変数を収集するだけで、2 番目のスクリプト タグは実際に調査コードを実行します。

<script language="JavaScript">
// var passin_x =; //comment out to default center or adjust horizontal position by pixel
// var passin_y =; //comment out to default center or adjust vertical position by pixel
var orderId='@@order_id@@';
// var z_index =; //default 9995
var cartTotal='@@purchase_total@@';
// var billingZipCode=;
// Pass up to 5 products from customer shopping cart
//var productsPurchased= 'URL=^SKU=^GTIN=^PRICE=|URL=^SKU=^GTIN=^PRICE=|URL=^SKU=^GTIN=^PRICE=|URL=^SKU=^GTIN=^PRICE=|URL=^SKU=^GTIN=^PRICE=';
</script>
<script type="text/javascript" src="https://eval.bizrate.com/js/pos_xxxxx.js">
</script>

クリック イベントの後にスクリプトを動的にロードするにはどうすればよいですか?

4

2 に答える 2

2

jQuery.getScriptを使用して、クリックイベントの後にスクリプトを動的にロードしました。

具体的には、ここに示す手法を使用しました: http ://www.tutorialspoint.com/jquery/ajax-jquery-getscript.htm

これは次のようになります:

$(document).ready(function() {
   $("#driver").click(function(event){
       $.getScript('/jquery/result.js', function(jd) {
           // Call custom function defined in script
           CheckJS();
       });
   });
});
于 2012-11-06T06:16:32.160 に答える
0

とにかくこれをしたいのはなぜですか?これにより、外部リンクを呼び出してjsを起動するためのサイトの速度が低下し、外部サイトに何かが発生した場合、js関数が無効になり、サイトが破損する可能性があります。これは、jsファイルのコピーを取得して、ホスティングサーバー内にローカルに保存する必要があるコーディング方法としては適切ではありません...

とにかくこれは私の意見です。

-Epik-

于 2012-11-05T22:33:15.513 に答える