Javascript 如何从URL创建回传标记?
我有几个广告网络能够集成一个回传URL(当付费广告印象不可用时请求),但一个广告网络只能接受一个回传脚本标记,而我没有 passback脚本需要将URL(728x90图像或flash横幅)的内容加载到自身中(它还需要执行加载的Javascript)。有人能帮我构造一个passback脚本标记吗 我试过这个:Javascript 如何从URL创建回传标记?,javascript,redirect,ads,Javascript,Redirect,Ads,我有几个广告网络能够集成一个回传URL(当付费广告印象不可用时请求),但一个广告网络只能接受一个回传脚本标记,而我没有 passback脚本需要将URL(728x90图像或flash横幅)的内容加载到自身中(它还需要执行加载的Javascript)。有人能帮我构造一个passback脚本标记吗 我试过这个: <SCRIPT language="Javascript"> // loads within itself, in the 728x90 banner space docum
<SCRIPT language="Javascript">
// loads within itself, in the 728x90 banner space
document.write("<SCR"+"IPT language=\'Javascript\' src=\'http://www.mydomain.com/passback.php\'></SCR"+"IPT>");
</SCRIPT>
//在728x90横幅空间中加载自身
文件。填写(“”);
但是有脚本错误。有什么想法吗?只是个想法。如果你试试这个,它会给你什么
<SCRIPT language="JavaScript" type="text/javascript">
var script = document.createElement("script");
script.type = "text/javascript"; // This is for HTML 4.01 validation
script.src = "http://www.mydomain.com/passback.php";
document.getElementsByTagName("head")[0].appendChild(script);
</SCRIPT>
var script=document.createElement(“脚本”);
script.type=“text/javascript”//这是用于HTML4.01验证的
script.src=”http://www.mydomain.com/passback.php";
document.getElementsByTagName(“head”)[0].appendChild(脚本);
已经提供的脚本与我经常使用的脚本非常接近:
var js = document.createElement("script");
js.type = "text/javascript";
js.src = "//www.mydomain.com/passback.php";
document.getElementsByTagName('head')[0].appendChild(js);
唯一不同的是没有指定URL方案,因此,如果您在http服务器上运行,则会调用http URL,如果您在https上运行,则会调用https-混合使用它们可能是您无法加载脚本的原因
对于您的脚本错误,我建议您使用Chrome和开发人员工具-这将允许您准确地看到哪一行给出了该错误。以下函数将另一个文档加载到文档正文中。新文档的URL应位于相同的域中http://www.mydomain.com/ 就你而言 您需要将以下脚本保存为.js文件,并将其放在广告应该放置的位置
function load(url) {
var req = null;
if (window.XMLHttpRequest) {
req = new window.XMLHttpRequest();
}
else if (window.ActiveXObject) { //fallback
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) { }
}
}
if (req) {
req.open("GET", url, false);
req.send(null);
return req.responseText;
}
}
document.write(load("http://www.mydomain.com/passback.php"));
@Tom
passback.js
文件是什么样子的?您遇到了什么错误?您的代码(您显示的部分)很好。是src属性中指向的脚本导致了问题-是否要共享它?另外,在Jan的问题之后-您遇到了什么脚本错误?passback.php是否具有正确的MIME类型?您没有从上面的代码中得到错误,这也是我同意@alessioalex的地方,这个错误可能存在于您的脚本中。尝试用jslint之类的语言验证javascript,以查找缺少的分号和大括号。我还对上述答案投了赞成票,因为这是一种很好的技巧。我也同意@alessioalex。很明显,作者所收到的错误不是由他的文档引起的。编写…
代码-那么为什么要费心重写该部分呢?是src中链接的脚本(或页面上的其他潜在脚本)导致错误弹出。正在加载的脚本是Adsense标记,当Adsense标记尝试链接到自己的外部脚本时,会发生脚本错误。+1特别是对于没有http:| https:
的脚本。为什么人们会添加这些内容?@Josh从标准的角度来看,指定URL方案是“正确”的方式。无模式url实际上更像是一种黑客行为,它利用了一个事实,即所有浏览器在不确定使用什么时都会退回到当前页面模式(最近的发现)。也就是说,我确实使用并提倡无计划的URL,但也承认这些标准来自何方。既然无模式URL如此流行和有用,它们可能会成为标准。但最初的目的是让所有URL都有一个方案。方案列表比http/https长得多,URL可以在web之外使用。我知道还有其他方案,但这个问题在浏览器中,所以有人会因为试图从https
方案访问http
而导致错误吗?