2011-01-26 85 views
0

我有一個爲我的web服務的書籤。這是書籤鏈接的代碼:使用Favicon Bookmarklet

(空間增加了可讀性)

javascript: void((function() { 
    var e = document.createElement('script'); 
    e.setAttribute('type', 'text/javascript'); 
    e.setAttribute('src', 'http://www.girmiyor.co.cc/bookmarklet.js'); 
    document.body.appendChild(e) 
})()) 

,我想添加圖標爲這個書籤鏈接。我找到了關於它的this post

他們舉一個例子JavaScript代碼添加圖標

javascript:’<!DOCTYPE html><html><head><title>Hello World</title><link rel=」icon」 type=」image/png」 href=」http://www.tapper-ware.net/devel/js/JS.Bookmarklets/icons/next.png」 /></head><body>Hello World</body></html>’; 

我想用這個方法對我的書籤代碼。我必須結合這些代碼。但這不行。

可讀性版本

javascript: void((function() { 
    document.write('<html><head><link rel=\'shortcut icon\' href=\'http://www.girmiyor.co.cc/favicon.ico\'/></head></html>'); 
    var e = document.createElement('script'); 
    e.setAttribute('type', 'text/javascript'); 
    e.setAttribute('src', 'http://www.girmiyor.co.cc/bookmarklet.js'); 
    document.body.appendChild(e) 
})()) 

原始版本:

javascript:void((function(){document.write('<html><head><link%20rel=\'shortcut%20icon\'%20href=\'http://www.girmiyor.co.cc/favicon.ico\'/></head></html>');var%20e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('src','http://www.girmiyor.co.cc/bookmarklet.js');document.body.appendChild(e)})()) 
+0

你誤解了他的帖子。 – SLaks 2011-01-26 14:11:29

+0

奧普斯,爲什麼?他的方法正在工作。 – Eray 2011-01-26 14:13:41

回答

0

我覺得你得到它完全不同於例子是錯誤的。你不需要直接編寫HTML標籤。我建議你再讀一遍這篇文章,瞭解它的分支。

對不起,如果我不是更具體的,但我會重複剛剛鏈接的文章中的相同內容。

0

不,它不適用於Chrome,不適用於Firefox。 到目前爲止,在Chrome中爲書籤添加圖標的唯一方法是生成用戶正在導入的書籤(.HTML)文件,書籤附有圖標。 這是非常痛苦的,但所有其他試驗都以某種方式失敗。

對於鉻,生成包含一個文件:

<!DOCTYPE NETSCAPE-Bookmark-file-1> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> 
<TITLE>Bookmarks</TITLE> 
<H1>Bookmarks</H1> 
<DL><p> 
    <DT><H3 ADD_DATE="1346919281" LAST_MODIFIED="1381755311" PERSONAL_TOOLBAR_FOLDER="true">Favorite</H3> 
     <DL><p><DT><A HREF="javascript:(your bookmarklet here *MUST BE THE SAME AS THE BOOKMARKLET CODE*)" ICON="data:image/png;base64,your base64 encoded icon here">Your bookmarklet name here *MUST BE THE SAME AS THE BOOKMARKLET*</A> 
     <DT> 
    </DL><p> 
</DL><p> 

然後讓用戶將此文件保存爲mybookmark.html然後讓它導入在「收藏夾管理器」(打開喜歡的經理,然後用鼠標右鍵點擊根文件夾,選擇'導入HTML書籤...')。這是完全安全的,因爲導入到一個新文件夾中,導入後可以立即刪除。

Chrome認識到它是相同的URL(JavaScript代碼)和標題,並重新使用該圖標。