动态加载JavaScript文件
我通过以下渠道销售的供应商要求我将此代码添加到我的推介页面:动态加载JavaScript文件,javascript,html,Javascript,Html,我通过以下渠道销售的供应商要求我将此代码添加到我的推介页面: <script> (function() { var p = '/?vendor=2knowmysel&time=' + new Date().getTime(); var cb = document.createElement('script'); cb.type = 'text/javascript'; cb.src = '//header.clickba
<script>
(function() {
var p = '/?vendor=2knowmysel&time=' + new Date().getTime();
var cb = document.createElement('script'); cb.type = 'text/javascript';
cb.src = '//header.clickbank.net' + p;
document.getElementsByTagName('head')[0].appendChild(cb);
})();
</script>
(功能(){
var p='/?vendor=2knowmysel&time='+new Date().getTime();
var cb=document.createElement('script');cb.type='text/javascript';
cb.src='//header.clickbank.net'+p;
document.getElementsByTagName('head')[0].appendChild(cb);
})();
代码应该允许页面通过clickbank加载到带有红色徽标的标题中。当我在head部分添加代码时,什么都没有发生
接下来,我试图通过在一个空白的html页面(远离drupal)上发布来隔离问题,该页面是
但是画面没有出现
这里怎么了?给定clickbank声明,代码是完美的。以下是您的代码:
<script>
// the following line creates an anonymous immediately-invoked function
(function() {
// this will return a string named 'p', which contains the vendors ID and current time
var p = '/?vendor=2knowmysel&time=' + new Date().getTime();
// this creates a new 'script' tag for HTML, name it 'cb', and tells the code it's for JavaScript
var cb = document.createElement('script'); cb.type = 'text/javascript';
// this will take a url with the address and the query string, which you named 'p' earlier, and set it as the source for 'cb'
cb.src = '//header.clickbank.net' + p;
// now you'll insert 'cb' to the HTML, so it'll load the JavaScript file into it
document.getElementsByTagName('head')[0].appendChild(cb);
// the function won't run automatically upon declaration, so you use parenthesis to tell it to run
})();
</script>
以下是您的代码的作用:
<script>
// the following line creates an anonymous immediately-invoked function
(function() {
// this will return a string named 'p', which contains the vendors ID and current time
var p = '/?vendor=2knowmysel&time=' + new Date().getTime();
// this creates a new 'script' tag for HTML, name it 'cb', and tells the code it's for JavaScript
var cb = document.createElement('script'); cb.type = 'text/javascript';
// this will take a url with the address and the query string, which you named 'p' earlier, and set it as the source for 'cb'
cb.src = '//header.clickbank.net' + p;
// now you'll insert 'cb' to the HTML, so it'll load the JavaScript file into it
document.getElementsByTagName('head')[0].appendChild(cb);
// the function won't run automatically upon declaration, so you use parenthesis to tell it to run
})();
</script>
如果你在之前加上它呢?似乎您正在尝试在标头完成加载之前将脚本附加到标头。此代码向Clickbank发出HTTP请求,并获得响应代码
204 No Content
。你被发送了一个空脚本,因此没有什么可执行的,也没有可显示的徽标。嗨@DanO他们刚刚实现了系统,可能他们还没有添加数据?所以我的问题是,从我的角度来看,每件事都在工作吗?当我试图访问脚本时,我在这里得到了404
。但是页面正在运行的脚本本身似乎可以工作。现在,它与iframes有什么关系?是的,OP,从你的角度来看,一切都像预期的那样工作。如果你在之前添加它呢?似乎您正在尝试在标头完成加载之前将脚本附加到标头。此代码向Clickbank发出HTTP请求,并获得响应代码204 No Content
。你被发送了一个空脚本,因此没有什么可执行的,也没有可显示的徽标。嗨@DanO他们刚刚实现了系统,可能他们还没有添加数据?所以我的问题是,从我的角度来看,每件事都在工作吗?当我试图访问脚本时,我在这里得到了404
。但是页面正在运行的脚本本身似乎可以工作。现在,它与iframes有什么关系?是的,OP,从你的角度来看,一切都像预期的那样工作。非常感谢各位。非常有用,最后一个问题。他们将此信息与安装指南一起发送给我,“ClickBank标题将在iframe中加载页面。完全阻止iframe将禁止页面的功能。确保您的Web服务器配置允许在框架中加载页面。”我如何知道这不是问题?我希望这会有所帮助。如果这解决了您的问题,我恳请您选择此答案作为接受答案;这给了我声誉,激励我去帮助别人。@MohamedFarouk,到目前为止,问题是他们的服务器没有将JS文件发回。我可以向您保证这一点,但您可以在web浏览器中使用JavaScript调试器检查这一点,或者在页面加载时在浏览器中检查网络监视器。如果您担心您的服务器是否允许iframe
,您可以联系您的Web服务器的管理员。谢谢,这将为我提供所需的200个代表:D。顺便说一句,我已经更新了答案,请检查它,看看这是否有帮助。祝您今天过得愉快!非常感谢大家。非常有用,最后一个问题。他们将此信息与安装指南一起发送给我,“ClickBank标题将在iframe中加载页面。完全阻止iframe将禁止页面的功能。确保您的Web服务器配置允许在框架中加载页面。”我如何知道这不是问题?我希望这会有所帮助。如果这解决了您的问题,我恳请您选择此答案作为接受答案;这给了我声誉,激励我去帮助别人。@MohamedFarouk,到目前为止,问题是他们的服务器没有将JS文件发回。我可以向您保证这一点,但您可以在web浏览器中使用JavaScript调试器检查这一点,或者在页面加载时在浏览器中检查网络监视器。如果您担心您的服务器是否允许iframe
,您可以联系您的Web服务器的管理员。谢谢,这将为我提供所需的200个代表:D。顺便说一句,我已经更新了答案,请检查它,看看这是否有帮助。祝您今天过得愉快!