JavaScriptの window.onload で、はまったので覚書しておきます。
window.onload は、ページの読み込みをイベントとして関数を実行するためのものですが、気をつける点が一つあります。
それは、window.onload に代入する関数に引数をつけては駄目ということです。
(具体例)
//これは、エラーになる。 window.onload = my_func(100); //これは、エラーにならない。 window.onload = function(){my_func(100)};
上記2つの違いは、直接、ユーザー定義関数を代入しているか、無名関数でラップしているかの違いです。
ユーザー定義関数を直接代入している場合に、引数を与えてしまうと、関数を実行した結果、すなわち、返り値が代入されてしまうため、JavaScriptの挙動がおかしくなりエラーとなります。すなわち、「実装されていません」となるわけです。
引数を与えた関数においてエラーを出さないためには、無名関数でラップしてやると上手くいきます。この場合には、関数の返り値ではなく、関数を代入することになるからです。
以上です。