如何从URL创建回传标记

How do I create a passback tag from a URL?

本文关键字:创建 URL      更新时间:2023-09-26

我有几个广告网络已经能够整合一个回传URL(当付费广告印象不可用时请求),但一个广告网络只能接受一个回传脚本标签,我没有。

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

我试过了:

<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>

但是得到了脚本错误。什么好主意吗?

只是个想法。如果你这样做,它会给你什么?

<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 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"));