.url文件不会加载图标

时间:2013-09-24 08:40:51

标签: url icons url-routing favicon

我开发了一个生成.url文件并将其发送给用户的servlet。目标是通过双击下载的.url文件,让用户访问Web应用程序而无需输入用户名和密码数据。 .url文件具有以下格式:

[DEFAULT]
BASEURL=http://{SERVER}/login?action=directAccess&userName={USERNAME}&passw={ENCRIPTED_PASSWORD}
[InternetShortcut]
URL=http://{SERVER}/login?action=directAccess&userName={USERNAME}&passw={ENCRIPTED_PASSWORD}
IconIndex=0
IconFile=http://{SERVER}/resources/favicon.ico 

我知道此解决方案仅适用于Windows操作系统,但我对此没有任何问题,因为使用该Web应用程序的所有客户端都使用Windows作为操作系统。

问题是下载的.url文件在某些​​情况下(Windows 7或更高版本的操作系统)没有加载文件上指示的图标,因此显示的图标是默认的浏览器图标。有没有解决方案?

非常感谢!

4 个答案:

答案 0 :(得分:3)

我认为此问题基于Windows 7及更新版本使用.website文件,而不是.url文件。以下是使用google.com的示例。

.url语法:

[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,11
[InternetShortcut]
IDList=
URL=https://www.google.com/

.website语法:

[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,11
Prop4=31,Google
[InternetShortcut]
IDList=
URL=https://www.google.com/
IconFile=https://www.google.com/favicon.ico
IconIndex=1
[{A7AF692E-098D-4C08-A225-D433CA835ED0}]
Prop5=3,0
Prop9=19,0
[{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}]
Prop5=8,Microsoft.Website.9CB8E698.C9795A8C

.url文件只会下载网站的/favicon.ico(如果有),但会回退到默认应用程序的http图标(Chrome或IE的图标等)。 .website文件,您可以指定要使用的图标,包括提供不包含在favicon.ico文件中的更高质量的图标。使用.website文件的缺点是它将打开IE而不是用户的默认Web浏览器。好处是你可以获得自定义图标和更多功能,因为你可以有跳转列表,徽章等。IE Dev Center

答案 1 :(得分:1)

IconFile必须在文件系统内可访问。也就是说,找到一种在本地下载它的方法(例如,在安装公司软件包时)或使其在文件共享中可用(尽管它是远程的,但Windows对其进行了特殊处理)。切肉刀把戏会导致:

IconFile=\\{SERVER}\resources\favicon.ico 

它假定同一台Web服务器可在线(或在Intranet上,取决于目标受众)可用,并且具有名为resources的文件共享(需要适当的共享和文件权限以及防火墙调整),指向相同的服务位置通过所引用的HTTP地址。

参考:Distributing an Internet Shortcut file with a custom icon

答案 2 :(得分:0)

  

要解决此问题,请手动设置Internet快捷方式的图标路径。为此,请按照下列步骤操作:

     
      
  1. 右键单击Internet快捷方式,然后单击属性

  2.   
  3. 点击网络文档标签,然后点击更改图标

  4.   
  5. 找到包含该图标的文件夹,然后单击Internet快捷方式的图标。

  6.   

即使它是IE7的文档

也能正常工作

参考:https://support.microsoft.com/en-us/help/935779/fix-an-internet-shortcut-does-not-display-the-correct-icon-in-internet-explorer-7

答案 3 :(得分:0)

当我删除I​​nternet Explorer时,一切都开始了。然后,chrome无法像以前一样加载url:s。解决方法是重新安装Internet Explorer。将网址与资源管理器相关联,然后最终返回到chrome。选择使用资源管理器或Chrome打开以更改这些关联。