解決
解決:
私はそれを変更し、ページのサイズ変更/読み込み時に通知するアラートを追加しましたが、実際にサイズ変更/読み込みが行われました。何らかの理由で c 関数を使用すると、.callbacks 配列に追加されたカスタム関数がトリガーされませんでした。実際に機能する別のコードを使用することにしました。
return c(.callbacks); の代わりに 私はそれを次のように変更しました:
for(each in win_resize.callbacks) {
win_resize.callbacks[each]();
}
それはうまくいったようで、今では完全にうまく機能しています。jsHintのことについては...「アラート」が定義されていないのは少し奇妙に思えます。また、変数が文字列と等しいかどうかを評価するときに... ==を使用した「文字列」はうまく動作します。期待どおりに機能しないという問題に遭遇したことはありません。
これについてこれ以上の支援は必要ありません。今すぐ閉じることができます。助けてくれた、または助けようとしてくれたすべての人に感謝します。
================================================== =========
元の質問
Window.onload と Window.onresize がトリガーされません。私はこれまで何度もこれを行ってきたので、ここで何が起こっているのかわかりません。
何らかのエラーがスローされた場合、解決するのは非常に簡単ですが、開発コンソールで確認できる限り、エラーはありません。
これは私のコードです:
var each, win_resizing, win_loaded = false;
function c(r, a1, a2, a3, a4, a5, a6, a7) {
if (typeof r == 'object') {
for(each in r) {
each[r] = c(each[r], a1, a2, a3, a4, a5, a6, a7);
}
return r;
} else if (typeof r == 'function') {
return each[r](a1, a2, a3, a4, a5, a6, a7);
}
return r;
}
win_load.callbacks = [];
function win_load(call) {
if (typeof call == 'function') {
return win_load.callbacks.push(call)-1;
}
return c(win_load.callbacks);
}
win_resize.callbacks = [];
function win_resize(call) {
if (typeof call == 'function') {
return win_resize.callbacks.push(call)-1;
}
return c(win_resize.callbacks);
}
win_load(function() {
alert("Loaded?");
});
win_resize(function() {
alert("Resized?");
});
window.onresize = function() {
if (!win_resizing) {
win_resizing = setTimeout(function() {
delete win_resizing;
}, 50);
win_resize();
}
};
window.onload = function() {
if (win_loaded!==true) {
win_loaded = true;
win_load();
window.onresize();
}
};
私が作成した正確なコードを複製し、それをjsFiddleに入れました。