我被要求通过我销售的供应商将此代码添加到我的网页中:
<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>
代码应该让页面加载到clickbank中带有红色徽标的标题中。当我在头部添加代码时没有发生任何事情。
接下来,我试图通过张贴在http://www.2knowmyself.com/testpage.htm的空白html页面(远离drupal)来隔离问题。
但框架没有出现。
这里有什么问题?鉴于clickbank声称代码是完美的。
答案 0 :(得分:0)
以下是您的代码所做的事情:
<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>
总结,它将供应商的ID和当前时间低估地发送到给定的服务器,并期望从中返回一个JavaScript文件;然后将此文件加载到HTML文档中。
目前,似乎没有工作,因为此服务器从您的页面获取信息,但没有将JavaScript文件发送回它。当他们调整它以回答正确的文件时,您会看到它相应地运行。
编辑:(回答您的最终问题)
到目前为止,我可以看到他们的服务器没有将预期的JS文件发送回你的页面,所以它不起作用。如果您想自己检查一下,请在浏览器中使用JS调试器或网络监视器(大多数现代网络浏览器都带有这些内置功能,请尝试按F12然后重新加载页面。)
如果您想检查iframe是否可以在您的服务器上运行,您可以联系其管理员或尝试自己在页面中嵌入iframe。将以下代码粘贴到文档中。如果您看到SO主页,它可以工作。否则,它什么都不显示。如果您看到Your browser does not support iframes.
,则可能需要更新网络浏览器并再次检查。
<iframe src="http://stackoverflow.com" width="300" height="300">
<p>Your browser does not support iframes.</p>
</iframe>