设置网页桌面快捷方式
时间:2010年02月25日作者:simaopig评论次数:23
看 开心网 有一个设为桌面图标,发现其就是下载了个网页的快捷方式在桌面上。
网上也有类似的程序,但是写法上面,只能支持IE,而不能跨浏览器。看了一下开心的HTTP请求头,原来也不是很难,上网再一搜,咱也弄个演示玩一下。呵。
<html>
<head>
<title>小小子桌面版</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<a href='shorturl.php'>桌面版</a>
</body>
</html>
<head>
<title>小小子桌面版</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<a href='shorturl.php'>桌面版</a>
</body>
</html>
<?php
$Shortcut = "[DEFAULT]
BASEURL=http://www.xiaoxiaozi.com/
[InternetShortcut]
URL=http://www.xiaoxiaozi.com
IDList=
IconFile=http://www.xiaoxiaozi.com/favicon.ico
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
";
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=小小子.url");
echo $Shortcut;
?>
$Shortcut = "[DEFAULT]
BASEURL=http://www.xiaoxiaozi.com/
[InternetShortcut]
URL=http://www.xiaoxiaozi.com
IDList=
IconFile=http://www.xiaoxiaozi.com/favicon.ico
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
";
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=小小子.url");
echo $Shortcut;
?>
演示地址:http://1.simaopig.sinaapp.com/shorturl.html
声明: 本文采用 BY-NC-SA 协议进行授权 | 小小子
转载请注明转自《设置网页桌面快捷方式》
发表评论
[回复]
@andi
因为这个是要下载,而不是打开。
用PHP将文件的类型设置为下载:header(‘Content-Type: application/octet-stream’);
[回复]
@simaopig
默认情况下,.url文件类型会被浏览器打开吗?
另外,我用chrome下载下来的链接是乱码。
[回复]
@andi
.url方式,在IE下是默认下载的。但是FF和CHROME这些浏览器就会在新窗口打开。。
我刚才测了一下。你是说下载什么啊?这个链接点完后下载到桌面就是一个快捷方式啊。你再试试呢?
如果还是乱码的话,看我的文件内容,里面是gbk编码的,你改一下浏览器编码试一下先。
[回复]
@simaopig
怪不得要用这种方式。如果把网址再设置成全局变量的话,也更好配置。看来改成PHP动态生成是值得的。
文件名是乱码,而不是“小小.url” 打开的页面是正确的显示“桌面版”,但下载下来的文件名是乱码。下载过程没有设置编码吧?或者跟操作系统有关?我用的win7.
[回复]
@andi
打开的页面显示非乱码也不一定是你的编码和我设置的编码一样。你看一下在显示页面的编码是不是gbk?
我这里是XP,下载后显示的是 小小子.url
[回复]
@simaopig
确定浏览器页面编码是gbk。 如果不是gbk,应该不会显示“桌面版”三字。跟文件编码还有关系吗?
[回复]
@andi
应该有关系吧。。呵呵。这个还真不清楚了。我这里拿多款浏览器测试过都是没有问题的。
Safari,Opera,FF,Chrom,IE…
[回复]
@simaopig
OK了,我chrome浏览器的默认编码设置不是gbk。
修改成gbk就ok了,header里没加入编码类型,浏览器默认编码生效了。
[回复]
我的chrome不是中文的。
[回复]
好专业了
看了半天
没办法 自己菜鸟一个
[回复]
@andi
呵呵。我就说和编码有关吧。因为今天在Opera上,我没写header,也遇到类似的现象了。。
[回复]
@simaopig
对了,在代码中使用Header让.url文件下载而不是打开,跟使用Apache等服务器来处理文件类型,应该是后者更好一些吧?
[回复]
@andi
我个人认为无所谓。相反如果用header的话,自己随心所欲
如果哪天你想下载一个其它后缀的呢?
[回复]
@simaopig
没有深入研究过。
我是说在.htacess文件中通过
[回复]
@andi
呃,这我倒不清楚了。。我也没有深入研究过。呵呵。。
[回复]
@simaopig
那就等以后碰到这类问题再折腾了
[回复]
[回复]
刚试了演示,chrome能直接打开下载的.url文件
[回复]
太专业了
我们这些菜鸟束手无策啊
[回复]