2013-05-14 59 views
0

當您需要解僱幾個功能在頁面加載時,您可以使用這樣的處理:外部JS功能的onload與用戶功能的碰撞爲onload

function myfunction() { 
    alert('My function!'); 
} 

function pctaddLoadEvent(func) { 
    var oldonload = window.onload; 
    if (typeof window.onload != 'function') { 
    window.onload = func; 
    } else { 
    window.onload = function() { 
     if (oldonload) { 
     oldonload(); 
     } 
     func(); 
    } 
    } 
} 

pctaddLoadEvent(myfunction); 

http://jsfiddle.net/SSEhr/

此,如果你的作品確定使用pctaddLoadEvent功能激發您需要觸發的功能。但是,如果這段代碼想要使用外部JS文件插入到不同的頁面上,我需要記住我的代碼的健壯性,並且可以說有人在他們的網站中包含examplecode.js,但是它們也有一些他們的JavaScript的網頁上,他們有這樣的事:

window.onload = function() { 
    alert('user function'); 
    //and some other user functions 
} 

這將打破我的代碼,你可以看到here

所以,我怎麼才能開始我的函數onload而不關心最終的用戶功能呢?

PS。我不能使用jQuery。

回答