0

我尝试在我的网站上嵌入亚马逊推荐小部件,但我在控制台中收到以下错误,并且小部件显示为空框:

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>

更新:我发现当您将 Amazon Native 购物广告代码放在表单 HTML 标记中时,它不会运行,找不到解决方法。在engagementforums.com上有一些关于它的安静讨论,但都没有任何好的解决方案。一些人建议将代码放在单独的 html 和 iframe 中,但对于依赖基于页面内容的服务相关广告的上下文广告来说,这是一个糟糕的解决方案。

*我用xxxx替换了原来的storeId id

4

2 回答 2

1

在挖掘之后,我发现如果禁用搜索栏功能,代码将在表单标签内工作。但是您必须使用自己初始化变量值的代码。

您可以通过添加以下行来做到这一点:

amzn_assoc_search_bar = "false";
于 2016-12-30T19:05:56.273 回答
1

您可以尝试创建一个动态script标签并使用 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);
于 2016-12-30T18:00:07.857 回答