使用しているブラウザーはわかりませんでしたが、これを達成するために私が考えることができる唯一Object.watch
の方法は、Firefox の を使用することです。
document.watch('location', function(prop, oldval, newval) {
window.open(newval);
return '#';
});
これは、 を設定しようとすると介入し、document.location
代わりに同じ引数でウィンドウを開き、代わりに割り当てを に変更し'#'
ます (通常は何もしません)。
ブックマークレット形式で、 と の両方をカバーするようにdocument.location
拡張window.location
:
javascript:(function(){var handle=function(prop, oldval, newval){window.open(newval); return '#';};document.watch('location',handle);window.watch('location',handle);})();
document.location.href
しかし、これでも;への代入に対しては機能しません。Object.watch
場所オブジェクトは、作業を拒否する特別なものです。
それだけでは不十分な場合は、onbeforeunload
ナビゲートしてキャンセルしようとしたときにプロンプトを表示するために使用できます (それがここでの目標である場合)。
私が持っている最高のもの、ごめんなさい!