Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从URL创建回传标记?_Javascript_Redirect_Ads - Fatal编程技术网

Javascript 如何从URL创建回传标记?

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

我有几个广告网络能够集成一个回传URL(当付费广告印象不可用时请求),但一个广告网络只能接受一个回传脚本标记,而我没有

passback脚本需要将URL(728x90图像或flash横幅)的内容加载到自身中(它还需要执行加载的Javascript)。有人能帮我构造一个passback脚本标记吗

我试过这个:

<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
而导致错误吗?