脚本未终止的字符串文字问题

时间:2014-08-20 07:29:53

标签: javascript

我在最新的firebug启用的firefox上测试脚本。下面的脚本给出了错误消息。您可以在下方看到错误消息的屏幕截图。

enter image description here

on firebug

<script type="text/javascript">
    (function(L) {
        if (typeof(ar_cn) == "undefined") ar_cn = 1;
        var S = 'setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);',
            j = ' type="text/javascript"',
            t = 0,
            D = document,
            n = ar_cn;
        L = 'http:' + L + escape(D.referrer || 'unknown') + '&rnd=' + Math.round(Math.random() * 999999999);

        function _() {
            if (t++ < 100) {
                var F = D.getElementById('ar_container_' + n);
                if (F) {
                    try {
                        var d = F.contentDocument || (window.ActiveXObject && window.frames['ar_container_' + n].document);
                        if (d) {
                            d.write('<sc' + 'ript' + j + '>var ar_bnum=' + n + ';' + S + '</sc' + 'ript><sc' + 'ript' + j + ' src="' + L + '"></sc' + 'ript>');
                            t = 0
                        } else setTimeout(_, 100);
                    } catch (e) {
                        try {
                            F.src = "javascript:{document.write('<sc'+'ript" + j + ">var ar_bnum=" + n + "; document.domain="" + D.domain + "";" + S + "</sc'+'ript>');document.write('<sc'+'ript" + j + " src="" + L + ""></sc'+'ript>');}";
                            return
                        } catch (E) {}
                    }
                } else setTimeout(_, 100);
            }
        }
        D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_' + ar_cn + '" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0></iframe></div><div id="ad_ph_' + ar_cn + '" style="display:none;"></div>');
        _();
        ar_cn++;
    })('//ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=481915&bt=43&pid=1722467&bn=1722467&tail256=');
</script>

我做错了什么?

1 个答案:

答案 0 :(得分:5)

停止它。无论你在做什么。

  • 你的代码不是在欺骗任何人。这是一个广告注入脚本,如果它在我的网站上,我会删除它,如果我想。
  • 您的代码无法维护,无法遵循。
  • 您的代码看起来非常可疑,可能被各种服务和广告拦截器阻止。

不要试图比浏览器和用户更聪明。

<script>
    (function(link) {
        var el = document.createElement("script");
        el.src = link;
        document.body.appendChild(el);
    })('//ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=481915&bt=43&pid=1722467&bn=1722467&tail256=');
</script>