以下のようなオーバーライドでNGな理由はなんでしょうか?NGとはFireFoxでURLエンコードされてしまう点と、optionが無効(省略の場合のデフォにならない)になる点です。
※uriに2バイトコードを含みます。
window.openRaw = function( uri, target, option, history ) {
window._toString = window.toString;
window.toString = function() { return unescape( window._toString() ); };
window.open( uri, target, option, history );
};
window.openRaw( uri );
unescapeを使っても文字コードなどが違えばデコードできませんし、設定によってURLエンコードに使う文字コードを変更できるため無理です。
…というかブラウザ設定に依存するようなスクリプトはなるべく使わないほうが無難だと思いますよ。
可能であるならば2バイト文字を使わず処理する方法を考えるべきです。
optionのほうは・・・よく分からないのでパス。
コメント(0件)