我的webservice有一个bookmarklet。这是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)
})())
我想为此bookmarklet链接添加favicon。我找到了this post。
他们提供了一个用于添加favicon的示例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>’;
我想在我的bookmarklet代码上使用此方法。我必须结合这些代码。但这不起作用。
可读性版:
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 :(得分:0)
我认为你从那个例子中弄错了。您不需要document.write直接编写HTML标记。我建议你再读一遍这篇文章并理解它的分支。
如果我不是更具体,我很抱歉,但我会重复与您链接的文章相同的内容。
答案 1 :(得分:0)
不,它在Chrome中不起作用,在Firefox中也不行。 到目前为止,在Chrome中为小书签设置图标的唯一方法是生成用户导入的书签(.HTML)文件,其中书签附有图标。 这是非常痛苦的,但所有其他尝试都以某种方式失败。
对于chrome,生成包含以下内容的文件:
<!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识别出相同的网址(javascript代码)和标题,并重复使用该图标。