这是我的头脑,一整天都在追逐它。我们有一个广告服务器,它在我们的网站上调用脚本然后插入代码。
E.g。 在iframe中调用的广告服务器页面:
<html>
<head><title></title></head>
<body>
<script src="http://adserver/ad?s=728x90"></script>
</body>
</html>
上面的脚本调用返回的javascript:
document.write('<script type=\'text/javascript\' src=\'http://partner.googleadservices.com/gampad/google_service.js\'>\n');
document.write('</script>\n');
document.write('<script type=\'text/javascript\'>\n');
document.write('GS_googleAddAdSenseService("ca-pub-xxxxxxxxxxxxxxxxxxx");\n');
document.write('GS_googleEnableAllServices();\n');
document.write('</script>\n');
document.write('<script type=\'text/javascript\'>\n');
document.write('GA_googleUseIframeRendering();\n');
document.write('</script>\n');
document.write('\n');
document.write('<script type=\'text/javascript\'>\n');
document.write('GA_googleFillSlotWithSize("ca-pub-xxxxxxxxxxxxxxxxxx", "Global_728x90", 728, 90);\n');
document.write('</script>\n');
这会将Google广告管理系统广告插入我们的网页。问题是代码在IE 7和8中不起作用,但在Chrome,Firefox,Safari等中工作正常。
IE返回的“错误”是“预期的对象”并通过IE的“开发人员工具”运行它也无济于事。
我已经尝试了很多东西让它发挥作用,分裂了
似乎每当运行GS_或GA_函数时都会发生错误,所以我怀疑IE是否试图阻止外部脚本写入页面?
任何人都可以解释错误发生的原因或解决方案吗?
由于
答案 0 :(得分:0)
我认为这只是因为Chrome,Firefox,Safari等浏览器速度更快。他们在执行依赖它的脚本之前下载文件http://partner.googleadservices.com/gampad/google_service.js
,而IE仍然在那时拉动文件。
也许你可以在你自己的js中包含那个js文件的内容吗?
答案 1 :(得分:0)
自从发布这个问题以来,我已经看过很多了。据我了解,这是一个只存在于IE中的竞争条件问题。不幸的是,没有办法解决它。