嵌入Amazon推荐Javascript小部件时出现Javascript错误
我试图在我的网站上嵌入一个amazon推荐小部件,但控制台中出现以下错误,小部件显示为带和空框:嵌入Amazon推荐Javascript小部件时出现Javascript错误,javascript,typeerror,amazonads,Javascript,Typeerror,Amazonads,我试图在我的网站上嵌入一个amazon推荐小部件,但控制台中出现以下错误,小部件显示为带和空框: dynscript-1.js:1 Uncaught TypeError: Cannot read property 'addEventListener' of null at Object.d.addEventHandler (dynscript-1.js:1) at Object.e.trackFormSubmission (dynscript-1.js:1) at Obj
dynscript-1.js:1 Uncaught TypeError: Cannot read property 'addEventListener' of null
at Object.d.addEventHandler (dynscript-1.js:1)
at Object.e.trackFormSubmission (dynscript-1.js:1)
at Object.e.renderSearchBar (dynscript-1.js:1)
at Object.e.render (dynscript-1.js:1)
at o (dynscript-1.js:1)
at Object.d.init (dynscript-1.js:1)
at Object.e.init (dynscript-1.js:1)
at dynscript-1.js:1
at h (onejs?MarketPlace=US&adInstanceId=87884aaa-94ab-4393-895a-ebfe6886f93b&storeId=xxxxxx-20:1)
at Object.m.execBodyScripts (onejs?MarketPlace=US&adInstanceId=87884aaa-94ab-4393-895a-ebfe6886f93b&storeId=xxxxxx-20:1)
页面中的代码:
<script src="//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&
adInstanceId=a830e6a0-c6c1-4f0a-84ab-0e2dc445ff9d&storeId=xxxx-20"></script>
更新:我发现当你把亚马逊原生购物广告代码放在表单HTML标签中时,它不会运行,我找不到解决方法。关于这件事,有一些讨论很平静,但都没有任何好的解决办法。有人建议将代码放在一个单独的html和一个iframe中,但对于依赖基于页面内容的服务相关广告的上下文广告来说,这是一个糟糕的解决方案
*我用xxxx替换了原始的storeId id,您可以尝试创建一个动态的
脚本标记,并用javascript将其添加到头部。这样至少可以加载他们的资源。由于装载顺序的原因,仍然可能存在一些错误
var amzScript = document.createElement('script');
amzScript.src = "//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&adInstanceId=a830e6a0-c6c1-4f0a-84ab-0e2dc445ff9d&storeId=xxxx-20";
var head = document.querySelector('head');
head.appendChild(amzScript);
您可以尝试创建一个动态脚本标记,并使用javascript将其添加到头部。这样至少可以加载他们的资源。由于装载顺序的原因,仍然可能存在一些错误
var amzScript = document.createElement('script');
amzScript.src = "//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&adInstanceId=a830e6a0-c6c1-4f0a-84ab-0e2dc445ff9d&storeId=xxxx-20";
var head = document.querySelector('head');
head.appendChild(amzScript);
在深入研究之后,我发现如果禁用搜索栏功能,代码将在表单标记中工作。但是您必须使用自己初始化变量值的代码
您可以通过添加以下行来完成此操作:
amzn_assoc_search_bar = "false";
在深入研究之后,我发现如果禁用搜索栏功能,代码将在表单标记中工作。但是您必须使用自己初始化变量值的代码
您可以通过添加以下行来完成此操作:
amzn_assoc_search_bar = "false";
该错误与http无关。小部件是否需要其他脚本?当小部件未包含时,您没有错误?@SergChernata这是Amazon associates提供的唯一嵌入页面的代码。没有小部件我不会出错。这是否在某个地方存在?@SergChernata问题是,由于某种原因,代码在标记中时不会运行。我只是把它放在一个普通的HTML页面中,它可以工作,但是当它放在一个表单标签中时就不行了。找不到绕过它的方法。我在ASPX页面中使用它,因此需要一个表单标记。错误与http无关。小部件是否需要其他脚本?当小部件未包含时,您没有错误?@SergChernata这是Amazon associates提供的唯一嵌入页面的代码。没有小部件我不会出错。这是否在某个地方存在?@SergChernata问题是,由于某种原因,代码在标记中时不会运行。我只是把它放在一个普通的HTML页面中,它可以工作,但是当它放在一个表单标签中时就不行了。找不到绕过它的方法。我在ASPX页面中使用它,因此需要一个表单标签。谢谢,我通过禁用搜索栏功能找到了一个干净的解决方案。我自己回答了这个问题,谢谢你的帮助。谢谢,我通过禁用搜索栏功能找到了一个干净的解决方案。我自己回答了这个问题,谢谢你的帮助。