2012-11-05 34 views
1

我運營的電子商務網站。在我們的訂單確認頁面上,我們運行第三方JavaScript,它會自動執行可選調查。從事件觸發第三方Javascript

該調查的問題在於需要20秒才能執行並減慢關鍵「訂單完成」頁面的呈現速度。

我想阻止加載此腳本,直到客戶點擊一個按鈕。

理想情況下,頁面將加載而不執行腳本。網頁上會有一些文字說:「你想參加調查嗎?如果是,請點擊這裏。」然後頁面會調用第三方javascript來執行調查代碼。

以下是第三方的JavaScript。第一個腳本標記僅收集變量,第二個腳本標記實際運行調查代碼。

<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='@@[email protected]@'; 
// var z_index =; //default 9995 
var cartTotal='@@[email protected]@'; 
// 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> 

如何在點擊事件後動態加載腳本?

+0

你試過動態加載JavaScript的**點擊這裏**事件發生時?查看jQuery和普通JavaScript方式的答案:[http://stackoverflow.com/questions/7293344/load-javascript-dynamically](http://stackoverflow.com/questions/7293344/load-javascript-dynamically) – cbayram

回答

0

爲什麼你要這麼做呢?這會減慢您的網站調用外部鏈接來關閉您的js,如果外部網站發生任何事情,您的js功能將失效,並且網站可能會中斷。這不是一個好的編碼習慣,你應該獲得一個js文件的副本,並將其存儲在本地託管服務器中...

無論如何,這只是我的看法。

-Epik-

+0

Third -party外部JavaScript是許多網站的基礎,當涉及到動態調查,廣告,分析等。爲了便於使用,缺乏維護和減少帶寬使用,它們是有意義的。檢索延遲取決於緩存機制,帶寬和網絡延遲。第三方服務器可以有較低的延遲。就在客戶端執行JS而言,無論您決定如何包含它(從您的服務器或他們的服務器),無論您決定如何包含它,都可以在您決定包含腳本時與第三方建立信任關係。 – cbayram

+0

謝謝你,cbayram。偉大的迴應,非常重要! – elcucococo