7

我开发了一个生成 .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

4 回答 4

4

我相信这个问题是基于使用 .website 文件而不是 .url 文件的 Windows 7 和更新版本。以下是使用 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 开发中心

于 2014-01-29T01:09:45.863 回答
2

IconFile需要在文件系统中可访问。也就是说,要么找到一种方法在本地下载它(例如,在安装公司软件包时),要么在文件共享中提供它(虽然是远程的,但 Windows 以特殊方式处理它)。该切肉刀技巧将导致:

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

它假定同一网络服务器可在线使用(或在您的 Intranet 中,具体取决于目标受众),并且具有一个名为resources(适当的共享和文件权限以及必要的防火墙调整)的文件共享,指向由所引用的 HTTP 地址提供的相同位置。

参考:分发带有自定义图标的 Internet 快捷方式文件

于 2019-06-04T07:49:43.447 回答
1

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

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

  2. 单击Web 文档选项卡,然后单击更改图标

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

即使它是 IE7 的文档,它也可以工作

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

于 2017-04-20T08:48:45.203 回答
0

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

于 2020-10-05T23:29:37.357 回答