Reactjs React中的亚马逊本地购物广告(搜索广告)

Reactjs React中的亚马逊本地购物广告(搜索广告),reactjs,amazon,amazonads,Reactjs,Amazon,Amazonads,是否有可能将亚马逊原生购物广告“搜索广告”引入React项目 我尝试了反复尝试,但我认为这可能不适用于全局变量问题。以下是我如何做到的 如果您的本地购物广告代码如下所示: <div id="amzn-assoc-ad-xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"></div><script async src="//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&adIns

是否有可能将亚马逊原生购物广告“搜索广告”引入React项目

我尝试了反复尝试,但我认为这可能不适用于全局变量问题。

以下是我如何做到的

如果您的本地购物广告代码如下所示:

<div id="amzn-assoc-ad-xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"></div><script async src="//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&adInstanceId=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"></script>
在JSX中

<div id="amzn-assoc-ad-xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"> </div>
<div id="amzn_assoc_ad_div_assoc_banner_placement_default_0" />

以下是我是如何做到的

如果您的本地购物广告代码如下所示:

<div id="amzn-assoc-ad-xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"></div><script async src="//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&adInstanceId=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"></script>
在JSX中

<div id="amzn-assoc-ad-xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"> </div>
<div id="amzn_assoc_ad_div_assoc_banner_placement_default_0" />

是的,它与这种逻辑配合得很好,但我用它制作了一个更好的版本

在你的钩子里

  useEffect(() => {
    const script = document.createElement('script')
    script.text = `amzn_assoc_ad_type = "banner"; amzn_assoc_marketplace = "amazon"; amzn_assoc_region = "US"; amzn_assoc_placement =
    "assoc_banner_placement_default"; .................`

    const script2 = document.createElement('script')
    script2.src = '//z-na.amazon-adsystem.com............'
    script2.async = false

    const amazonAdd = document.querySelector('#amzn_assoc_ad_div_assoc_banner_placement_default_0')
    if (amazonAdd) {
      amazonAdd.appendChild(script)
      amazonAdd.appendChild(script2)
    }
  }, [])
在JSX中

<div id="amzn-assoc-ad-xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"> </div>
<div id="amzn_assoc_ad_div_assoc_banner_placement_default_0" />


您需要使用与amazon完全相同的id。看看你的DOM,看看这个amazon脚本如何在你的DOM中附加一个div,获取它的id,并在你的JSX div中使用相同的id。是的,它非常适合这种逻辑,但我用它制作了一个更好的版本

在你的钩子里

  useEffect(() => {
    const script = document.createElement('script')
    script.text = `amzn_assoc_ad_type = "banner"; amzn_assoc_marketplace = "amazon"; amzn_assoc_region = "US"; amzn_assoc_placement =
    "assoc_banner_placement_default"; .................`

    const script2 = document.createElement('script')
    script2.src = '//z-na.amazon-adsystem.com............'
    script2.async = false

    const amazonAdd = document.querySelector('#amzn_assoc_ad_div_assoc_banner_placement_default_0')
    if (amazonAdd) {
      amazonAdd.appendChild(script)
      amazonAdd.appendChild(script2)
    }
  }, [])
在JSX中

<div id="amzn-assoc-ad-xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"> </div>
<div id="amzn_assoc_ad_div_assoc_banner_placement_default_0" />


您需要使用与amazon完全相同的id。在您的DOM中查看此amazon脚本如何在您的DOM中附加一个div,获取其id并在您的JSX div中使用它

谢谢!我想按页面动态更改“搜索广告”的搜索关键字。你知道怎么做吗什么?原生购物广告代码已经改为你能更新答案吗?谢谢!我想按页面动态更改“搜索广告”的搜索关键字。你知道怎么做吗什么?原生购物广告代码已经改成你能更新答案吗?