【发布时间】:2014-11-28 15:48:51
【问题描述】:
我有以下脚本,我想将其转换为可以通过单击调用的内容:
<script type="text/javascript"> if (!window.mstag) mstag = {loadTag : function(){},time : (new Date()).getTime()};</script>
<script id="mstag_tops" type="text/javascript" src="//flex.msn.com/mstag/site/+values+/mstag.js"></script>
<script type="text/javascript"> mstag.loadTag("analytics", {dedup:"1",domainId:"+values+",type:"1",actionid:"+values+"})</script>
<noscript> <iframe src="//flex.msn.com/mstag/tag/+values+/analytics.html?dedup=+values+" frameborder="0" scrolling="no" width="1" height="1" style="visibility:hidden;display:none"> </iframe> </noscript>
我想按照下面脚本的方式来做:
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = +values+;
var google_conversion_language = "en";
var google_conversion_format = "+values+";
var google_conversion_color = "ffffff";
var google_conversion_label = "+values+";
var google_remarketing_only = false;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/+values+/?label=+values+;script=0"/>
</div>
</noscript>
已处理in this thread,建议的解决方案如下:
// 这为 jQuery 负责。代码可以很容易地适应其他 javascript 库:
function googleTrackingPixel() {
// set google variables as globals
window.google_conversion_id = 1117861175
window.google_conversion_language = "en"
window.google_conversion_format = "3"
window.google_conversion_color = "ffffff"
window.google_conversion_label = "Ll49CJnRpgUQ9-at5QM"
window.google_conversion_value = 0
var oldDocWrite = document.write // save old doc write
document.write = function(node){ // change doc write to be friendlier, temporary
$("body").append(node)
}
$.getScript("http://www.googleadservices.com/pagead/conversion.js", function() {
setTimeout(function() { // let the above script run, then replace doc.write
document.write = oldDocWrite
}, 100)
})
}
// 你会在你的脚本中这样调用它:
$("button").click( function() {
googleTrackingPixel()
})
但是由于原始脚本 sn-ps 的结构不同,我不知道如何以相同的方式进行。这个怎么也能变身?
编辑: 我应该这样做吗? -
function newScript() {
if (!window.mstag) mstag = {loadTag : function(){},time : (new Date()).getTime()};
mstag.loadTag("analytics", {dedup:"1",domainId:"+values+",type:"1",actionid:"+values+"})
var oldDocWrite = document.write // save old doc write
document.write = function(node){ // change doc write to be friendlier, temporary
$("body").append(node)
}
$.getScript("//flex.msn.com/mstag/site/+values+/mstag.js", function() {
setTimeout(function() { // let the above script run, then replace doc.write
document.write = oldDocWrite
}, 100)
})
}
【问题讨论】:
-
您到底想达到什么目的?为什么不能只创建一个 function() 并将两个脚本 sn-ps 包装在里面?所以 变成
-
@HywelRees 我只是不知道该怎么做,因为我不是程序员。我已经编辑了我的问题并尝试按照你的建议编造一些东西,但我认为这不是正确的方法。
标签: javascript jquery bing