【发布时间】:2014-02-25 09:28:32
【问题描述】:
让我问你一个难题:
我应该可以使用 Internet Explorer 仅打开 HTTPS 站点。我想知道是否有一个程序可以检查操作系统哪个浏览器是默认浏览器并且行为不同,如下所示:
1) 如果 Internet Explorer 是默认浏览器,只需说“您的默认浏览器是 Internet Explorer。程序将完成”然后退出;
2) 如果 Mozilla Firefox 或 Google Chrome 是默认脚本,则脚本应更改为注册表,仅对 HTTPS 的引用,以便 Internet Explorer 仅运行 HTTPS 站点,然后显示类似“已设置关联。按一个按钮完成”并退出;
3)最后但并非最不重要的一点是,我想知道是否有办法避免 Chrome 或 Firefox 显示(如果它们是首选浏览器并且在更改 Internet Explorer 的 HTTPS 关联之后)警告将它们再次设置为默认浏览器(即我会喜欢让他们打开除 HTTPS 之外的所有其他站点);
你认为有可能做到这一点吗?提前感谢您的帮助。
梅琳娜
【问题讨论】:
-
虽然做这类事情并非不可能,但通常最好确保网站与所有浏览器兼容。如果这是针对某些用途有限的东西(例如定制应用程序),这可能不是一个大问题,但是如果某些链接神秘地转移到不同的浏览器,一般用户会感到困惑和烦恼。此外,请注意,更改操作系统关联只会影响在 Web 浏览器本身之外访问的链接——例如。无论您做什么,在 Chrome 中点击 HTTPS 链接的人仍会使用 Chrome 本身打开。
-
首选浏览器的关键是:hkey_current_user\software\clients\startmenuinternet 我不知道如何通过批处理文件来判断,例如: if "hkey_current_user\software\clients\startmenuinternet" = Iexplore.exe如果 "hkey_current_user\software\clients\startmenuinternet" = Chrome.exe 或 Firefox.exe 则不执行任何操作,然后注册添加 [HKEY_CURRENT_USER\Software\Microsoft\Windows\Roaming\OpenWith\UrlAssociations\https\Userchoice] (ProgId) "IE.HTTPS" [HKEY_CLASSES_ROOT\https\DefaultIcon](默认)iexplore.exe,-1003 [HKEY_CLASSES_ROOT\https\Shell\Open\Command](默认)iexplore.exe %1
-
@Miral:不幸的是,你是对的,https 网页运行的是 ActiveX,所以我不得不将 https 用于 iexplore,将 http 用于其他浏览器(如果 iexplore.exe 不是默认浏览器)
-
用户实际上是如何加载页面的?如果他们单击桌面或开始菜单快捷方式,那么您可以使用
iexplore强制加载,而无需重定向所有https。如果他们在您的应用程序中使用菜单项,您也可以这样做。 -
在W7、W8(可能还有Vista)中“默认程序”、“设置关联”http和https可以分别分配给不同的程序。
标签: internet-explorer batch-file inno-setup