Как мне создать тег возврата из URL? - PullRequest
9 голосов
/ 09 ноября 2011

У меня есть несколько рекламных сетей, которые смогли интегрировать URL-адрес возврата (запрашивается, когда платное показ рекламы недоступен), но одна рекламная сеть может принять только тег сценария возврата, которого у меня нет.

Скрипт обратного вызова должен загрузить содержимое URL (изображение 728x90 или флеш-баннер) в себя (ему также необходимо выполнить загружаемый 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>

Но есть ошибки скрипта. Есть идеи?

Ответы [ 3 ]

6 голосов
/ 13 ноября 2011

Просто идея.Что это даст, если вы попробуете это?

<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>
0 голосов
/ 18 ноября 2011

Следующая функция загружает другой документ в тело документа. 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"));
0 голосов
/ 16 ноября 2011

Уже предоставленный сценарий близок к тому, который я всегда использую для этого:

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 и инструменты разработчика.- это позволит вам точно увидеть, какая строка дает вам эту ошибку.

...