1. ホーム
  2. javascript

javascriptでuseragentをモックする?

2023-07-22 02:56:16

質問

私はプログラム的にnavigator.userAgentをその場で変更する方法を探しています。自動化されたjavascriptユニットテスターを取得するための私の失敗した試みで、私はあきらめて、fireunitを使い始めようと試みました。すぐに、私はjavascriptのテストのために実際のブラウザを使用することの壁の1つに激突しました。

具体的には、私は、与えられた関数上で適切な検出とカバレッジを確実にするために、数百のuserAgent文字列をシミュレートするためにnavigator.userAgentを変更する必要があります。navigator.userAgentは読み取り専用なので、私は行き詰まっているようです! どうすればnavigator.userAgentをモックできますか?User Agent Switcher(プラグイン)はFFのユーザーエージェントを切り替えることができますが、私はjavascript内でそれを行うことができますか?

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

試してみてください。

navigator.__defineGetter__('userAgent', function(){
    return 'foo' // customized user agent
});

navigator.userAgent; // 'foo'

FF2、FF3で試しました。