ここ(seesaawiki)のフリーエリアに仕込んでるスクリプトを整理してたんだが、
Uncaught TypeError: ({_getTracker:(function(s) {
return {
_initData : function(){},
_trackPageview : function(){}
};
})}) is not a function
<anonymous> https://seesaawiki.jp/w/kou1okada/d/%a5%b3%a5%f3%a5%d4%a5%e5%a1%bc%a5%bf%a1%bc%bb%a8%bb%ef:774
%a5%b3%a5%f3%a5%d4%a5%e5%a1%bc%a5%bf%a1%bc%bb%a8%bb%ef:774:1
みたいなエラーを出してしまった結果、しばらく原因に思い至れず往生してしまった。
744 行目は、例えば、
(function(){
function hello() {
console.log("hello");
}
window.addEventListener('load', hello);
})();
みたいなコードなんだが、
単純に
// ※1
(function(){
console.log("hello");
})();
とか
// ※2
(function(){
})();
とかにしても同じエラーになる。
しかし、これを
window.addEventListener('load', function(){
function hello() {
console.log("hello");
}
hello();
});
ってしたり、
function hello() {
console.log("hello");
}
window.addEventListener('load', hello);
ってしたり
window.addEventListener('load', function() {
console.log("hello");
});
ってしたりした場合にはエラーは生じない。
冷静になって考えてみれば、そもそもの話、※1、※2 がエラーになる時点で問題はこの部分ではなく別の部分にあるのは明白なんだけど、ぱっと原因に思い至れず、前後のコードを削っては実行、削っては実行を繰り返すという、知性の欠片も感じられないデバッグ手法に頼る他なく、問題の箇所をあぶり出すのに無駄な時間を費やしてしまった。