2012-03-06 38 views
0

我想讓這樣的事情drag bookmarket to your browser爲了執行一個javascript HOWTO使用多個「A HREF內

我到目前爲止的代碼:

<a class="bookmarklet" title="KB Fjernadgang" 
href="javascript:(function(){a=window;parts=window.location.href.split(\"/\");parts[2]+=\".ep.fjernadgang.kb.dk\";url= parts.join(\"/\");a.open(url,\"bkmk_popup\");})();"><img src="http://dl.dropbox.com/u/3216968/Billeder/KB%20Fjernadgang.png" alt="KB Fjernadgang"></a> 

不得不刪除所有「var」帶空格,因爲它被轉換成了%20,但是我似乎對多個「現在」有問題。它不僅使書籤與此代碼

javascript:(function(){a=window;parts=window.location.href.split(\ 

轉義字符「\」似乎並沒有做的工作..我怎麼逃?」

回答

1

轉義雙引號字符的屬性值。&quot;這就是所謂的字符引用在HTML

或者,你可以只用單引號字符替換它們:。'

+0

謝謝一堆! – Norfeldt 2012-03-06 13:53:33

+0

當然:D只需等待9分鐘,直到stackoverflow將允許我接受您的解決方案。 – Norfeldt 2012-03-06 14:13:05

2

切換到'。 XML解析器僅查找",而不是測試它是否在JavaScript調用中被轉義。

+0

是的。每當你這樣寫內聯JS時,在JS周圍使用一個字符串分隔符,而在JS內部使用一個字符串分隔符。 – 2012-03-06 13:57:14

0

忘掉href屬性。將其設置爲href="#"

使用onclick代替:onclick="bookmark();"然後寫入JS邏輯:

function bookmark(){ your bookmark logic comes here }

+1

這是一個書籤。整個觀點是瀏覽器將JavaScript視爲一個URI(因此它可以添加到書籤中)。使用'onclick'或將代碼移動到外部函數將會擊敗對象。如果使用'onclick'並且一個函數可以修復它,那麼'href =「#」'會非常糟糕,因爲它不是[progressive](https://en.wikipedia.org/wiki/Progressive_enhancement)。使用'onclick' *屬性*不會很好,因爲它不是[不顯眼](https://en.wikipedia.org/wiki/Unobtrusive_JavaScript)。 – Quentin 2012-03-06 13:51:31

0

既然是URI,逃生它作爲%22

&quot;是如果您爲HTML轉義它,但是您將它放在URI中,然後將該URI置於HTML中,那麼您應該在擔心HTML轉義之前使用URI轉義)。