2012-07-23 82 views
1

在谷歌瀏覽器的控制檯,這個工作(它說,在彈出的被攔截,但不介意現在)字符串操作控制檯不表現爲

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

爲什麼?

+1

回覆:*快樂的開發者。但我喜歡的東西不僅僅是代碼* - 她不是東西,而是**某人**! – 2012-07-23 22:42:42

+0

@歐米茄男士,你是對的!我得重新說一句。 – 2012-07-23 23:09:51

回答

1

試試這個:

javascript:open('http://www.bugmenot.com/view/'+(escape(location).replace(/^.*?\/\/([^\/]*).*$/i, "$1"))); 
+0

這是爲什麼工作? – 2012-07-23 23:10:32

+0

您應該儘可能使用簡單的圖案。祝你好運! – 2012-07-23 23:13:08

+0

所以你告訴我你也不知道:( – 2012-07-23 23:16:17

1

導致此問題,因爲%3a被解釋爲在URL欄或書籤一個:

javascript:alert('%3a'); 

將被解釋爲

javascript:alert(':'); 

,因此將上一個正則表達式這個值,以及相關的後果將接踵而至。