0
  1. 多くのダブルクリックスクリプトを含むページがあります
  2. 本体上部にjsコードを挿入しています(s.src =('parts_async_dev.js')経由):

    var innerHTML = document.getElementsByTagName('html')[0].innerHTML.toString();
    var regexp = /ad.doubleclick.net/gm;
    var matches = innerHTML.match(regexp);
    alert('found ' + matches.length + ' tags by regexp ' + regexp);
    console.log( innerHTML);
    

alertad.doubleclick.netmatchsは2つのタグのみを返すと言います。最初に、コードを本体の一番下に配置しないと、全身にアクセスできないと思いました。しかし、私のコードの後に​​あるdiv"interstitial_wrapper"内に2つのタグが見つかります。

だから私の質問は:

  • なんでそうなの?
  • ボディフォームボディスタートにアクセスする方法(ボディ'onload'イベントを使用できない場合があります。できるだけ早くスクリプトを使用する必要があります)

ここに含めるには大きすぎるため、http://wap7.ru/folio/bannerstat/partners/doubleclick2.htmlを参照してソースを表示してください。

4

1 に答える 1

2

onloadイベントにバインドする必要はありません。DOMContentLoadedイベントにバインドするだけです。

ページにjQueryを既に含めているので、これは次を使用して簡単に行うことができます.ready

$(document).ready(function() {
    var innerHTML = document.body.innerHTML;
    /* If you want to use a RegExp, use the following:
    var regexp = /ad\.doubleclick\.net/gi; // Note: escaped dot
    var matches = innerHTML.match(regexp);
    matches = matches ? matches.length : 0; // matches can be `null`
    */

    // This is more effective:
    var matches = innerHTML.split('ad.doubleclick.net').length - 1;
    alert('Found ' + matches + ' tags.');
    console.log( innerHTML );
});
于 2012-02-21T12:10:05.773 に答える