Home > スポンサー広告 > loadイベントのテスト

スポンサーサイト

スポンサー広告

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Comments:-

Comment Form

Trackback+Pingback:-

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/143-d3501b97
Listed below are links to weblogs that reference
スポンサーサイト from Karafuto Blog

Home > スポンサー広告 > loadイベントのテスト

Home > user javascript > loadイベントのテスト

loadイベントのテスト

user javascript

loadイベントはページのデータが全て読み込まれた後発生する。

DOMContentLoadedイベントはページの HTMLが解析された後発生する。

しかし、window.opera.addEventListenerメソッドなら AfterEvent.loadイベントで全てのデータ(?)の読み込みを検出できる。

User JavaScriptでテストしてみた。

loadイベントと DOMContentLoadedイベント、AfterEvent.loadイベントを検出したらエラーコンソールに書き込む。AfterEvent.loadイベントの時には、イベントが起きた要素とその要素に scr属性か href属性があればその値を書き込む。時間も付けているが、あくまで目安ということで。

画像、エラーが多いサイトでは見づらい。一度に複数のサイト、フレームのあるサイトを開くと、ごっちゃになり訳が分からなくなる、などの欠点がある。

// ==UserScript==
// @include    http://www.opera.com/*
// ==/UserScript==

(function(){
    var start = new Date().getTime();
    var num = 1;
    opera.postError( ' --------------  start  -------------- \n' + location.href);

    document.addEventListener('DOMContentLoaded', function() {
        postEvent('DOMContentLoaded');
    }, false);

    document.addEventListener('load', function() {
        postEvent('load');
    }, false);

    window.opera.addEventListener('AfterEvent.load', function(e) {
        var file = e.event.target.src ? ' : ' + e.event.target.src : e.event.target.href ? ' : ' + e.event.target.href : '';
        postEvent( 'AfterEvent.load' + '\n' + e.event.target.nodeName + file);
    }, false);

    function postEvent( str) {
        var time = new Date().getTime();
        opera.postError( num + '.  ' + ( time - start ) / 1000 + '\n'  + str );
        num ++ ;
    }
})();

Operaのページを開いてスクリプトを試してみた一例。

 --------------  start  -------------- 
http://www.opera.com/
1.  1.844
AfterEvent.load
SCRIPT : http://www.opera.com/js/menu.js
2.  2.203
AfterEvent.load
LINK : http://www.opera.com/css/templates.css
3.  2.281
AfterEvent.load
LINK : http://www.opera.com/css/media.css
4.  2.5
AfterEvent.load
SCRIPT : http://www.opera.com/js/newsticker.js
5.  2.844
AfterEvent.load
LINK : http://www.opera.com/css/handheld.css

(エラー。コンテンツのブロック)JavaScript - http://counter.hitslink.com/track.js
リンク先のスクリプトを読み込むことができません

6.  2.969
AfterEvent.load
SCRIPT : http://www.opera.com/js/hitslink.js
7.  2.969
AfterEvent.load
IMG : http://counter.hitslink.com/statistics.asp?v=1&s=100&acct=opera&an=Opera&sr=&ck=1162&rf=&sl=undefined&av=9.27%20%28Windows%20NT%205.1%3B%20U%3B%20ja%29&l=ja&pf=Win32&pg=/&cd=32&rs=1024%20x%20768&tz=-540&je=false&tks=1208096266320
8.  3.141
AfterEvent.load
LINK : http://www.opera.com/css/screen.css
9.  4.031
AfterEvent.load
IMG : http://www.opera.com/img/lang/jp/flag.gif
10.  4.031
AfterEvent.load
IMG : http://www.opera.com/img/operalogo.gif
11.  4.203
AfterEvent.load
IMG : http://www.opera.com/img/download/new/dl-mini.png
12.  4.219
AfterEvent.load
SCRIPT : http://cetrk.com/pages/scripts/0006/9056.js
13.  4.313
DOMContentLoaded
14.  5.359
AfterEvent.load
IMG : http://www.opera.com/img/front/minicampaign/europe.jpg
15.  5.516
AfterEvent.load
BODY
16.  5.516
load
17.  5.719
AfterEvent.load
#document

実際のエラーコンソールには「JavaScript,Unknown thread」が出るが、見づらくなるので削除した。

参考にした記事

Comments:0

Comment Form

Trackback+Pingback:0

TrackBack URL for this entry
http://karafuto50.blog117.fc2.com/tb.php/143-d3501b97
Listed below are links to weblogs that reference
loadイベントのテスト from Karafuto Blog

Home > user javascript > loadイベントのテスト

おまかせリンク(R)
全記事表示リンク
Search
Meta
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。