【发布时间】:2014-06-27 09:25:28
【问题描述】:
我想仅在满足某个条件时才加载并执行外部 javascript 文件(Google Adwords 的转换脚本)。已经问过类似的问题,我尝试了他们的解决方案,但没有奏效。我有以下代码:
<script>
$(function() {
if ([condition]) {
$.getScript('//www.googleadservices.com/pagead/conversion.js');
}
});
</script>
脚本已加载但未执行。如何执行?
我尝试用
更改 getScript()var script = document.createElement("script" );
script.setAttribute("src", "//www.googleadservices.com/pagead/conversion.js" );
document.getElementsByTagName("head" )[0].appendChild(script);
但效果不佳。
谢谢!
@VLAS:哎呀,贴错了,更正了
@ejay_francisco:我已经尝试创建脚本标签并将其附加到头部但它不起作用
@Barar:我的意思是页面下载脚本文件但不执行它。是的,如果你想要完整的代码:
<!-- Google Code for Formulaire Contact Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = [...];
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "[...]";
var google_remarketing_only = false;
/* ]]> */
</script>
<!-- <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script> -->
<script type="text/javascript" src="//code.jquery.com/jquery.min.js"></script>
<script>
$(function() {
if ([condition]) {
$.getScript('//www.googleadservices.com/pagead/conversion.js');
$("#google_conversion").attr('src','//www.googleadservices.com/pagead/conversion/[...]/?label=[...];guid=ON&script=0');
}
});
</script>
<div style="display:inline;">
<img id="google_conversion" height="1" width="1" style="border-style:none;" alt="" src="#"/>
</div>
【问题讨论】:
-
如何加载而不被执行?这就是加载的作用。
-
为什么要在 regScript 上设置 src 属性并附加 script 变量?
-
this 链接可能会对您有所帮助
-
@VLAS 这不是真的。省略
http:表示它将复制当前页面的协议。它将根据当前页面的 URL 使用http:或https:。 -
响应 cmets 中的 cmets。当您在这样的问题中回复评论者时,他们不会收到通知。