【问题标题】:Trigger Third-Party Javascript from Event从事件触发第三方 Javascript
【发布时间】:2012-10-25 19:56:12
【问题描述】:

我经营一个电子商务网站。在我们的订单确认页面上,我们运行了一个第三方 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='@@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>

如何在点击事件后动态加载脚本?

【问题讨论】:

标签: javascript survey


【解决方案1】:

我使用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();
       });
   });
});

【讨论】:

    【解决方案2】:

    你为什么要这样做呢?这将减慢您的站点调用外部链接来触发您的 js 的速度,如果外部站点发生任何事情,那么您的 js 函数将失效并且站点可能会中断。这不是一个好的编码习惯,您应该获取 js 文件的副本并将其本地存储在您的托管服务器中...

    这只是我的意见。

    -Epik-

    【讨论】:

    • 第三方外部 JavaScript 是许多网站在动态调查、广告、分析等方面的基础。为了易于使用、无需维护和减少带宽使用,它们是有意义的.检索的延迟取决于缓存机制、带宽和网络延迟。第三方服务器可以具有较低的延迟。至于在客户端执行 JS,这是您在决定包含他们的脚本时与第三方建立的信任,无论您决定如何包含它(来自您的服务器或他们的服务器)。
    猜你喜欢
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    相关资源
    最近更新 更多