1. ホーム
  2. ジャバスクリプト

[解決済み】JavaScript。alert()のオーバーライド

2022-04-10 18:39:29

質問

をオーバーライドした経験のある方はいらっしゃいますか? alert() 関数を使用できますか?

  • どのブラウザが対応していますか?
  • 対応するブラウザのバージョンを教えてください。
  • 関数をオーバーライドすることの危険性は?

どのように解決するのですか?

それは間違いなく"supported"です。あなたのWebページなのですから、あなたがやりたいことは何でもできます。

私はすでに、ライブラリを修正することなく、イベントに忍び込むことでアナリティクスイベントを追跡することを行いました。

プロキシパターンを使用します。

(function(proxied) {
  window.alert = function() {
    // do something here
    return proxied.apply(this, arguments);
  };
})(window.alert);

必要であれば、元の関数の呼び出しをバイパスすることもできます (プロキシ)

詳しくはこちら JQueryの種類 #プロキシパターン