我有一个流星应用程序,我正在添加亚马逊联盟广告。我正在尝试使用他们的“智能”原生广告,这些广告通过在页面中包含2个脚本标签来使用。因为meteor不允许在模板html中使用脚本标记,所以我通过渲染事件包含脚本,如下所示:
$(document).ready(function() {
var container = document.getElementById("amzn-smart-ad");
var script1 = document.createElement( 'script' );
var script2 = document.createElement( 'script' );
script1.type = "text/javascript";
script1.innerHTML = 'amzn_assoc_placement = "adunit0";amzn_assoc_enable_interest_ads = "true";amzn_assoc_tracking_id = "xbdash-20";amzn_assoc_ad_mode = "auto";amzn_assoc_ad_type = "smart";amzn_assoc_marketplace = "amazon";amzn_assoc_region = "US";amzn_assoc_linkid = "53a282e17ec77b7ea536f5c81dba5683";amzn_assoc_emphasize_categories = "979455011,468642";amzn_assoc_fallback_mode = {"type":"search","value":"xbox overwatch"};amzn_assoc_default_category = "VideoGames";';
container.appendChild(script1);
script2.src = "//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US";
container.appendChild(script2);
});
这样做,我收到一个错误,因为无法找到亚马逊尝试将其广告内容放入的div。亚马逊代码应插入用于插入内容的容器div,但由于amazon正在使用document.write
,因此不会插入。
document.write给了我错误:
“无法在'Document'上执行'write':除非明确打开,否则无法从异步加载的外部脚本写入文档。”
这意味着容器div永远不会添加到页面中,所以当amazon尝试将innerHTML附加到它时,由于容器元素为null,它会失败。有没有人有这方面的经验,能够带领我朝着正确的方向前进?
谢谢!
答案 0 :(得分:0)
我复制代码并放入网站的任何地方,都是错误的。我不知道为什么,只是显示一张空白图片,什么都没有。