JavaScript文字列を入力するとき、エスケープシーケンスにいくつかの解析が適用されます。
など、var foo = "ab\\cd";
はfoo
の値をab\cd
とします。JavaScript文字列をテキストのように解析する方法
私は文字列としてJavaScriptコードを取り、そこから変数値を抽出する必要がありますが、そうするとエスケープシーケンスは適用されません。最初に文字列値を入力する場合と同様に、テキスト解析を再適用するにはどうすればよいですか。
fiddleの例を示します。シンプルなので、ここにコードを含めます。
HTML:
<a href="javascript:alert('abc\/def');" oncontextmenu="log(this)">Click or right click</a>
Javascriptを:
function log(el){
var href = el.getAttribute('href');
var str = href.split("'")[1];
alert(str);
}
リンクをクリックすると、abc/def
に警告したが、右の意志出力abc\/def
をクリックします。
右クリックアラートを左クリックと同じようにするにはどうすればよいですか?