2010-05-04 56 views
2

我有這個書籤,即它不是以'http:'開頭,而是以'javascript:'開頭。沒有問題,它可以正常工作。
當我想將其部署到用戶時,會發生此問題。我想給他們提供一個鏈接,他們只需點擊添加到他們的收藏夾。無論我使用什麼方法(在Web上發現的例子,或使用jFav的JQuery),當點擊鏈接時,最終都會出現JavaScript錯誤'權限被拒絕',儘管當書籤鏈接是經典'http'時,它完美工作。
我相信這是瀏覽器的一些安全性,但有沒有辦法避免這種情況?我可以使用JavaScript來添加不是http網址的書籤嗎?

回答

1

這確實是一種安全措施。如果用戶可能被騙入書籤並運行javascript:URL,那麼這幾乎是全球跨站腳本。

關於您所能做的就是向用戶提供一個javascript:鏈接,並要求他們通過右鍵單擊書籤或拖動書籤將其加入書籤。您還應該寫出鏈接,以便可以複製粘貼並手動添加書籤,因爲某些瀏覽器不會爲JavaScript鏈接呈現右鍵單擊書籤,而其他瀏覽器可能沒有可見的書籤欄。

+0

是的,我期待這個答案。這就是我已經使用過的,我很害怕那些不知道如何添加書籤的用戶數量,並且對我抱怨。無論如何。 – Antoine 2010-05-04 10:02:03

+0

更不用說,如果您想一次將更新部署到多個bookmarklet。刪除舊的,爲每一個拖一個新的! – Michael 2013-08-23 19:17:47

1

您可以要求用戶將書籤拖放到他們的書籤或工具欄中。

+0

我不知道你使用的是什麼瀏覽器,但這不適用於IE8。這是一個企業應用程序,每個人都在使用IE6-8。 – Antoine 2010-05-04 10:03:12

+0

對於IE用戶需要將「公司網站」添加到其信任區以啓用拖放操作。當然,我會讀懂你的想法,那隻會讓他們感到困難。 – zaf 2010-05-04 10:24:11

相關問題