gpt4 book ai didi

javascript - 在 React.js 应用程序中从广告合作伙伴加载外部脚本

转载 作者:行者123 更新时间:2023-12-02 00:04:33 25 4
gpt4 key购买 nike

我想在我的 React.js Web 应用程序中包含两种类型的广告

<script async="async" data-cfasync="false" src="//somewebstite.com/invoke.js"></script>
<div id="container-4foobarbaz"></div>

还有这个广告:

<script type="text/javascript">
atOptions = {
'key' : 'somekey',
'format' : 'iframe',
'height' : 250,
'width' : 300,
'params' : {}
};
document.write('<scr' + 'ipt type="text/javascript" src="http' + (location.protocol === 'https:' ? 's' : '') + '://www.cdnwebsite.com/invoke.js"></scr' + 'ipt>');

如何将它包含在我的 React 应用程序中?我尝试了一些方法,但没有一个起作用,包括:

    const script = document.createElement("script");
script.async = true;
script["data-cfasync"] = true;
script.src = "//somewebstite.com/invoke.js"

this.div.appendChild(script);

渲染中的这个:

<div id="container-4foobarbaz" ref={el => (this.div = el)} >

</div>

最佳答案

我看到您正在尝试使用 adsTerra,所以这是一个工作示例(在 Typecript 中)

import { useEffect, useRef } from 'react'
export default function Banner(): JSX.Element {
const banner = useRef<HTMLDivElement>()

const atOptions = {
key: 'YOUR_KEY',
format: 'iframe',
height: 50,
width: 320,
params: {},
}
useEffect(() => {
if (!banner.current.firstChild) {
const conf = document.createElement('script')
const script = document.createElement('script')
script.type = 'text/javascript'
script.src = `//www.highperformancedformats.com/${atOptions.key}/invoke.js`
conf.innerHTML = `atOptions = ${JSON.stringify(atOptions)}`

if (banner.current) {
banner.current.append(conf)
banner.current.append(script)
}
}
}, [])

return <div ref={banner}></div>
}

关于javascript - 在 React.js 应用程序中从广告合作伙伴加载外部脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61036388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com