谷歌广告词转换跟踪的动态插入在safari中爆炸式增长
Dynamic insertion of Google AdWords conversion tracking explodes in safari
我正在开发一个单页应用程序,该应用程序可能会在每次页面加载时触发1次以上的转换。
我需要启动谷歌转换片段,所以我认为我可以在运行时将其放入。这个片段看起来像这样:
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = XXXXXXXX;
var google_conversion_language = "en";
var google_conversion_format = "2";
var google_conversion_color = "ffffff";
var google_conversion_label = "XXXXXXXXXXXXXXX";
var google_conversion_value = 25.00;
/* ]]> */
</script>
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js">
</script>
我一直在使用javascript在转换启动时插入代码段。我是这样做的:
function(id,url,content){
// add script
var script = document.createElement("script");
script.type = "text/javascript";
if(url) script.src = url;
if(content) script.text = content;
var bucket = document.getElementById(id);
bucket.appendChild(script);
debugger;
}
这适用于我尝试过的所有浏览器,除了safari。
在safari中,当添加第二个脚本标记时,整个body标记的内容将替换为googleiFrame。事实上,整个dom都被核武器摧毁了。脑袋里的内容也被抹去了。
谷歌脚本中到底发生了什么,我如何在不让一切都崩溃的情况下插入它?!?
更新:
看起来出于某种原因,safari不喜欢我添加脚本的方式。为了解决这个问题,我在debugger
行下面添加了bucket.innerHTML = ''
,它在Safari中运行得很好。不幸的是,这导致FF 3.6做了safari之前所做的事情,并对DOM进行了核攻击。
更复杂的是,AdWords似乎拒绝了这些转换或其他什么,当它们被注入页面时,它们不会出现在报告端。
我目前的方法是使用htaccess和一点字符串解析来生成一个只包含转换片段的页面,并在中对其进行iFrame。我将对此进行汇报。
也许通过iFrame插入谷歌广告会更容易?
比如这样:
<iframe src="/documents/adsense.htm" width="728px" height="90px" frameborder="0" marginwidth ="0px" marginheight="0px" scrolling="no"></iframe>
iFrame包含:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Google Adsense</title>
<base target="_parent">
</head>
<body>
<!--insert Google Adsense Code Here-->
</body>
</html>
谷歌仍然会知道并跟踪父页面。
相关文章:
- 在Safari执行javascript之前对其进行修改
- Safari(Mac OS)上的jQuery平滑滚动问题
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 承诺在非节点式回调上使用Bluebird
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- javascript隐式全局变量
- 带有对象/原型的链式承诺(Q延期)
- document.applet.method在Mounatin Lion上抛出safari 6+JDK7异常
- 主干网.与Safari同步问题
- 下拉式父菜单链接在移动设备中不起作用
- 使用代码了解 JavaScript 中的反应式扩展
- jQuery表单验证适用于Mozilla和Internet Explorer,但不适用于Chrome或Safari
- 以编程方式选择文本Mobile Safari
- onbeforeunload和asp:Safari和FireFox中的更新面板
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- Bootstrap响应式导航栏
- 将JSON对象的表示形式更改为显式键/值格式
- 响应式设计适用于桌面浏览器、移动模拟器(Safari和Mozilla Firefox),但不适用于真正的智能手机(And
- 响应式语音在 Safari 中不起作用
- 谷歌广告词转换跟踪的动态插入在safari中爆炸式增长