我正在嘗試編寫一個搜索引擎小書籤(用於Chrome),但我無法轉義字符串。在小書籤中轉義未加工的未轉義字符串
例如,如果搜索引擎書籤如下:
javascript:alert("%s"); //%s is the search engine query, passed literally by chrome.
然後運行它下面的字符串將給予不正確的結果:如果斜槓之後的字符恰好是
c:\zebra
c:zebra instead of c:\zebra
一個實際的轉義字符,那麼結果將根據字符而變化。
我已經試過逃脫和unescaping的字符串,我試過reg-ex'ing它,並用雙斜槓替換斜槓,但我想不出一種方法來獲得這個工作,因爲第一個原始字符串進入腳本的時間,它是未轉義的,並且之後的任何操作都將錯誤地看到它。
這怎麼能正確處理?
這已無關的網址,但事實證明\是轉義字符在JavaScript中。在任何地方寫''c:\ zebra'',都會給你''c:斑馬紋''。你需要寫''c:\\斑馬線'' – Esailija 2012-07-29 16:31:54
*> \是一個轉義字符在javascript中。* @Esailija,是的,我知道,這就是我正在嘗試解決的問題。 *>你需要寫*我不能改變字符串;它由用戶提供。 *>這與url無關*是的,用戶在地址欄/ Omnibar中輸入字符串。 – Synetech 2012-07-29 16:42:43
然後我完全不理解這個,你能不能顯示你的代碼 – Esailija 2012-07-29 16:45:21