是否有跨浏览器兼容的方法将Web URL保存到用户的桌面?

时间:2019-06-25 20:15:59

标签: javascript google-chrome url browser desktop

我正在为一个希望用户能够将Web URL从网页拖到他们的桌面上并从本质上为他们创建一个书签的用户开发项目。他们希望图标(网站徽标)始终与网络URL保存在一起。

在Chrome中有什么方法可以做到这一点吗?有什么方法可以明确指定网站的桌面图标(而不是仅仅收藏图标)?

由于出于隐私方面的考虑,我知道脚本标记和保存文件在JS中跨浏览器比较困难,但是如果实际上有任何编程方式可以做到这一点,我也会对此感兴趣。

到目前为止,根据我的尝试,在Web URL中包含图标的唯一方法是,使用Firefox或IE时,如果您在地址栏中获取站点信息,然后将其拖到桌面上。然后,它将网站的图标保存为图标。我还在网站的标题中添加了其他图标的大小,以防它依赖于此。

<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">

理想情况下,我希望用户能够将锚链接从网站拖到桌面,并且如果可能的话,让保存到其桌面的图标成为明确定义的网站徽标。

1 个答案:

答案 0 :(得分:1)

由于安全性,浏览器与本机操作系统的交互非常受限制。

不幸的是,您的要求是不可能的。 JavaScript在沙盒环境中运行,并且不在操作系统上执行,因此无法以这种方式在网站和本地计算机之间进行交互。

您可以做的最好的事情就是拖放Windows所支持的超链接,但是,一旦链接出现在最终用户的桌面上,您就无法对其进行自定义。该链接将使用anchor标签中提供的文本创建,并将链接到href中提供的URL。

从顶部的URL栏中抓取图标是浏览器应用程序和Windows之间支持的交互,并且不会将逻辑扩展到网页以允许相同的操作。