Windows 下如何通过 javaScript 创建 web 快捷方式到桌面

2014-07-01 14:42:29 +08:00
 rubyking
需求是:如果用户在web页面上点击收藏网站时,用户桌面上会生成该网站的快捷方式。
6431 次点击
所在节点    程序员
16 条回复
learnshare
2014-07-01 15:01:58 +08:00
浏览器一般没有本地访问能力(创建快捷方式是写本地文件),可能只有 IE 支持吧
est
2014-07-01 15:08:56 +08:00
win98里面有个技巧是用iframe显示file://XXX/desktop 路径,然后诱导用户拖拽一个链接进去,就搞定了。。。。。当然,很多做蠕虫的人是诱导用户拖动到自启动文件夹~~~~~~~
rubyking
2014-07-01 15:37:57 +08:00
@learnshare @est 改成用PHP删除文件了,但是不知道能不能指定浏览器打开,比如用户打开该web快捷方式时候默认用IE打开,但是用户默认浏览器可能不是IE,可能是google chrome等
lm902
2014-07-01 15:40:12 +08:00
HTML5 File操作
caoyue
2014-07-01 17:09:32 +08:00
应该是做不到你要的效果,不过有个可能接近你的要求的方法:
1. 首先生成一个 InternetShortcut (后缀为 .url 或者 .website):
可以去 MSDN 或者其他地方找找相关文档。 当然更简单的办法是直接在 IE 中打开网站,拖动到桌面生成快捷方式,用文本方式打开这个快捷方式就可以看到里面的内容
2. 点击收藏的时候服务器返回上面生成的内容,设置 Content-Type 为 "application/octet-stream". 这样点击收藏实际上是「下载」了预定义的快捷方式,不能实现的就是指定用户下载的位置了。

可能细节不一定完全正确,但是曾经用过这种方法,应该是可以实现的。
tabris17
2014-07-01 17:18:06 +08:00
IE6的话可以利用各种漏洞

不利用漏洞 Noway
gouflv
2014-07-01 17:36:13 +08:00
这种需求都是异想天开
hotcha0111
2014-07-01 17:40:37 +08:00
Chrome 有创建应用快捷方式. 感觉这种需求是在作恶...
tom
2014-07-01 18:16:08 +08:00
我们的做法是,亲自给用户在桌面创建快捷方式,还贴心的把图标换成客户的LOGO
rubyking
2014-07-02 10:06:36 +08:00
@lm902 低版本的浏览器不兼容
rubyking
2014-07-02 10:09:40 +08:00
@caoyue 试了一下,好像不可以,不知道是不是我操作不当造成的,我用ie添加一个网站到收藏夹,然后从收藏夹把这个收藏的页面拖拽到桌面,但是打开这个快捷方式的时候是用chrome打开的(我的默认浏览器是chrome)
rubyking
2014-07-02 10:10:36 +08:00
@tom 能指定用IE打开吗?
rubyking
2014-07-02 10:13:46 +08:00
@tabris17 需要考虑其他浏览器啊。。
rubyking
2014-07-02 10:15:40 +08:00
@hotcha0111 没办法,咱只是个码农,做什么都的看天气啊
lm902
2014-07-02 11:24:00 +08:00
var link = document.createElement("a");
link.href = "/";
link.innerText = "网站名";
link.addEventListener("click" function(event) {
alert("拖动到桌面");
event.preventDefault();
});
parentElement.appendChild(link);
rubyking
2014-07-03 10:20:49 +08:00
@lm902 这个感觉用户体验不好吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/120419

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX