我有一个小书签,它启动一个 window.open javascript 函数,用我的小书签打开一个小窗口——一个用于在任何访问过的站点和我的服务器之间进行通信的外部功能。我想要一个favicon当书签添加到书签工具栏时显示。我意识到书签是 javascript,没有与其绑定的域,因此实现这个目标要么很困难,要么不可能。
我对问题的理解:
网站图标很容易理解,是 HTML 文档头部的链接。当通过引用为实际站点添加书签时,浏览器可以提取此内容。但是,正如您所看到的,我的书签是通过 javascript 启动代码运行的,其中不存在 HTML,因此没有指向favicon。不过我还没有准备好放弃,我觉得可以注射一些药物......
截至目前,小书签启动代码如下所示:
当前脚本 - 小书签,无图标(并非所有代码都使用换行符格式化 - 不适用于所有浏览器,通常是一行)
javascript:void(window.open(
'http://mydomain.com/bookmarklet/form?u='
+encodeURIComponent(location.href)+
't='+encodeURIComponent(document.title),
'test','status=0,toolbar=0,location=0,menubar=0,
resizable=false,scrollbars=false,height=379,width=379'
));
我发现的最接近解决方案如下,但它不会打开新窗口 - 只是创建一个新选项卡,其中 html 作为页面:
工作图标,没有书签窗口
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:'<!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>';
window.open('http://mydomain.com/bookmarklet/form?u='
+encodeURIComponent(location.href)+
'&t='+encodeURIComponent(document.title),
'test',
'status=0,toolbar=0,location=0,menubar=0,resizable=false,
scrollbars=false,height=379,width=379').void(0);
我所做的是在触发 window.open() 之前使用 html 结构,这成功地在新窗口中打开了我的书签,但没有显示书签图标的图标。
逻辑解:
我对此的想法是让书签指向一个页面,该页面只是一个带有网站图标链接和启动脚本的 HTML 文件。<head>
。但是,我不希望在带有空白 HTML 文件的新选项卡中打开该文件,然后启动弹出窗口..解决方法..?
存在类似的问题,但我似乎没有找到我正在寻找的答案:
当书签拖到工具栏时如何设置网站图标/图标? https://stackoverflow.com/questions/521040/how-to-have-favicon-icon-set-when-bookmarklet-dragged-to-toolbar
工作 javascript favicon 的来源(但是没有书签):
http://www.tapper-ware.net/blog/?p=97 http://www.tapper-ware.net/blog/?p=97
我对您目前对此的了解/想法感兴趣