2011-01-26 55 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代码)和标题,并重新使用该图标。