このコードは Chrome でおかしな動作をします (ここでフィドル):
try {
open('6:-=');
} catch(e) {}
まず、コードが try-catch でラップされているにもかかわらず、エラーがスローされます。
無効な URL '%36:%04-=' でウィンドウを開くことができません。
次に、不要な文字が URL に挿入されます。つまり%3
、 と%04
です。
try-catch がエラーをインターセプトしないのはなぜですか? また、URL にこれらの余分な文字が含まれているのはなぜですか?