设置网页桌面快捷方式

时间: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>
<?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;
?>

演示地址:http://1.simaopig.sinaapp.com/shorturl.html

声明: 本文采用 BY-NC-SA 协议进行授权 | 小小子
转载请注明转自《设置网页桌面快捷方式

标签:分类:PHP
23条评论
  1. andi留言于:2010年02月25日13:28

    :roll: 为什么要用PHP输出这些呢?

    [回复]

  2. simaopig留言于:2010年02月25日13:30

    @andi
    因为这个是要下载,而不是打开。

    用PHP将文件的类型设置为下载:header(‘Content-Type: application/octet-stream’);

    [回复]

  3. andi留言于:2010年02月25日13:33

    @simaopig
    默认情况下,.url文件类型会被浏览器打开吗?

    另外,我用chrome下载下来的链接是乱码。

    [回复]

  4. simaopig留言于:2010年02月25日13:36

    @andi
    .url方式,在IE下是默认下载的。但是FF和CHROME这些浏览器就会在新窗口打开。。

    我刚才测了一下。你是说下载什么啊?这个链接点完后下载到桌面就是一个快捷方式啊。你再试试呢?

    如果还是乱码的话,看我的文件内容,里面是gbk编码的,你改一下浏览器编码试一下先。

    [回复]

  5. andi留言于:2010年02月25日13:42

    @simaopig
    怪不得要用这种方式。如果把网址再设置成全局变量的话,也更好配置。看来改成PHP动态生成是值得的。

    文件名是乱码,而不是“小小.url” 打开的页面是正确的显示“桌面版”,但下载下来的文件名是乱码。下载过程没有设置编码吧?或者跟操作系统有关?我用的win7.

    [回复]

  6. simaopig留言于:2010年02月25日13:48

    @andi
    打开的页面显示非乱码也不一定是你的编码和我设置的编码一样。你看一下在显示页面的编码是不是gbk?

    我这里是XP,下载后显示的是 小小子.url

    [回复]

  7. andi留言于:2010年02月25日13:52

    @simaopig
    确定浏览器页面编码是gbk。 如果不是gbk,应该不会显示“桌面版”三字。跟文件编码还有关系吗?

    [回复]

  8. simaopig留言于:2010年02月25日13:54

    @andi
    应该有关系吧。。呵呵。这个还真不清楚了。我这里拿多款浏览器测试过都是没有问题的。

    Safari,Opera,FF,Chrom,IE…

    [回复]

  9. andi留言于:2010年02月25日13:55

    @simaopig
    OK了,我chrome浏览器的默认编码设置不是gbk。
    修改成gbk就ok了,header里没加入编码类型,浏览器默认编码生效了。

    [回复]

  10. andi留言于:2010年02月25日13:55

    我的chrome不是中文的。 :arrow:

    [回复]

  11. 盟友留言于:2010年02月25日17:36

    好专业了
    看了半天
    没办法 自己菜鸟一个

    [回复]

  12. simaopig留言于:2010年02月25日19:24

    @andi
    呵呵。我就说和编码有关吧。因为今天在Opera上,我没写header,也遇到类似的现象了。。

    [回复]

  13. andi留言于:2010年02月25日19:26

    @simaopig
    对了,在代码中使用Header让.url文件下载而不是打开,跟使用Apache等服务器来处理文件类型,应该是后者更好一些吧? :?:

    [回复]

  14. simaopig留言于:2010年02月25日19:31

    @andi
    我个人认为无所谓。相反如果用header的话,自己随心所欲

    如果哪天你想下载一个其它后缀的呢?

    [回复]

  15. andi留言于:2010年02月25日19:41

    @simaopig
    :mrgreen: 没有深入研究过。
    我是说在.htacess文件中通过

    AddType application/octet-stream .url

    [回复]

  16. simaopig留言于:2010年02月25日19:43

    @andi
    呃,这我倒不清楚了。。我也没有深入研究过。呵呵。。

    [回复]

  17. andi留言于:2010年02月25日19:45

    @simaopig
    那就等以后碰到这类问题再折腾了 ;-)

    [回复]

  18. an9留言于:2010年02月25日21:35

    :razz: 我来了。

    [回复]

  19. JetKing留言于:2010年02月26日09:29

    刚试了演示,chrome能直接打开下载的.url文件

    [回复]

  20. 谈笑人生留言于:2010年02月28日16:32

    太专业了
    我们这些菜鸟束手无策啊

    [回复]

发表评论

*

*