在谷歌Chrome控制台中,这可行(它表示弹出窗口被阻止,但现在不介意)
open('http://www.bugmenot.com/view/'+(escape(location).replace(/^\w+%3a\/\//i,'').replace(/\/.*/i,'')));
弹出窗口在http://www.bugmenot.com/view/thesite.com
现在,这不适用于书签:
javascript:open('http://www.bugmenot.com/view/'+(escape(location).replace(/^\w+%3a\/\//i,'').replace(/\/.*/i,'')));
不会打开完全相同的网址,而是打开http://www.bugmenot.com/view/http%3A
。
为什么吗
答案 0 :(得分:1)
试试这个:
javascript:open('http://www.bugmenot.com/view/'+(escape(location).replace(/^.*?\/\/([^\/]*).*$/i, "$1")));
答案 1 :(得分:1)
导致此问题是因为%3a
在网址栏或书签中被解释为:
。
javascript:alert('%3a');
将被解释为
javascript:alert(':');
正如此值对正则表达式的影响,随之而来的是相关后果。