編集: setRequestHeader 手法が v18 と v19 の両方で機能することを発見したため、質問は無関係になりました。http://code.google.com/p/chromium/issues/detail?id=123150#c39のポスターは、この方法が v18 では機能しないと言って間違っているようです。許可されたら、8時間以内にこの回答で更新します!
自動テスト ツールである Chrome 拡張機能を使用しています。ユーザー エージェントを (Chrome の起動時にコマンド ラインで) オーバーライドしたため、appVersion を使用して Chrome のバージョンを確認できなくなりました。
Javascript でクロムのバージョンを検出する他の方法はありますか?
背景: xmlhttp を使用して、基本認証で保護されたページを要求しています。
Google が v19 で URL に埋め込まれた基本認証を削除したため、v18 または v19+ に応じて異なるアクションを実行する必要があります ( http://code.google.com/p/chromium/issues/detail?id=123150#c39を参照)。
これは自動スクリプトなので、ユーザー名やパスワードを入力するためにそこにいることはありませんが、どちらもスクリプトに認識されています。
if (v18_or_earlier)
{
xmlhttp.open("POST", url, true, http_basic_username, http_basic_password) ;
}
else //v19+
{
xmlhttp.open("POST", get_upload_url(), true);
var auth_header = "Basic " + Base64.encode(http_basic_username + ":" + http_basic_password) ;
xmlhttp.setRequestHeader("Authorization", auth_header) ;
}
xmlhttp.send(post_body) ;