0

ページの読み込み時にいくつかの関数を起動する必要がある場合は、次のようなものを使用して処理できます。

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 ファイルを使用して別のページに挿入されることを意図している場合、コードの堅牢性を念頭に置く必要があります。彼らのウェブページにjavascriptがあり、次のようなものがあります:

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

hereを見ることができるように、それは私のコードを壊します。

一言で言えば、最終的なユーザー関数を気にせずに関数をオンロードで開始するにはどうすればよいでしょうか?

PS。jqueryが使えません。

4

1 に答える 1

0

関数の名前空間を使用することで問題を解決できると思いますこれを試してくださいjavascript名前空間

于 2013-05-14T09:35:21.827 に答える