是否可以在不将 Internet Explorer 设为默认浏览器的情况下使用 IE10 应用程序?

是否可以在不将 Internet Explorer 设为默认浏览器的情况下使用 IE10 应用程序?

Windows 8 附带两个版本的 Internet Explorer:普通桌面版(外观与 IE9 一样)和 Modern UI 版(全屏平板电脑风格的应用程序)。默认情况下,在桌面模式下打开的链接会在桌面 IE 中打开,而在 Modern UI 应用程序中打开的链接会在全屏应用程序中打开。

当您设置新的默认浏览器(例如 Google Chrome,现在具有现代 UI 模式)时,您根本无法再在现代 UI 中访问 IE10 - 磁贴从开始屏幕消失,并且无法手动调用它。

我不太使用 IE10,但我希望在 Metro 模式下使用它,因为它很方便测试。但我并不想将 IE 设为我的默认浏览器。有没有办法让 IE10“应用程序”显示出来,而无需将 IE 设为默认浏览器到处

答案1

对一般查询的官方答案(根据 MS 文档)“您能在 Windows 8 中访问非默认浏览器的 Metro 版本吗?”

简短回答:根据微软的指导方针,仅有的默认浏览器可以访问/参与“Metro 风格体验”。因此,这种行为显然是故意的,除非微软改变其指导方针,或者浏览器制造商违反指导方针,或者出现某种黑客行为,否则我们只能继续使用这种行为。


MSDN 文章标题为Windows 应用商店应用白皮书链接到一篇有趣的白皮书,标题为开发支持 Metro 风格的桌面浏览器列出了 Microsoft 的指南。以下是文档描述:

在 Windows 8 中,用户设置为处理网页和相关协议的默认浏览器可能被设计为既能访问 Metro 风格体验,又能访问传统桌面体验。这种类型的浏览器称为“支持 Metro 风格的桌面浏览器”。本白皮书介绍了如何构建这样的浏览器。

以下是一些有趣的内容:

在 Windows 8 中,用户设置为默认处理网页的浏览器和相关协议可能被设计为访问两个都全新体验以及传统桌面体验。

...

启用全新体验的桌面浏览器。当用户表示希望浏览器参与新体验时,桌面浏览器会选择参与。此类浏览器可以为网页提供 HTML5 渲染并处理 HTTP/HTTPS 请求。根据定义,此类浏览器可以完全访问用于渲染 HTML5 的 Win32 API,包括使用多个后台进程、JIT 编译和其他与浏览器明显相关的功能(如后台下载文件)。桌面浏览器通常以中等或低完整性级别运行。

...

用户体验框架启用新体验的桌面浏览器只有作为默认浏览器才可以参与新用户体验。桌面应用(通常打包为 .MSI,中等完整性级别)在桌面中运行。Windows 应用商店应用(.appx 打包,在 App Containers 中运行,API 集仅限于 Windows 应用商店应用的 Windows SDK,通过 Windows 应用商店获取)在新体验中运行。启用新体验的桌面浏览器可以被视为也可以参与新体验的桌面浏览器。将新用户体验参与限制在用户的默认浏览器上,其根源在于保留新用户体验。请注意,此限制适用于所有浏览器,包括 Internet Explorer

...

瓷砖如果默认浏览器支持新的用户体验,则浏览器的应用磁贴(以及辅助磁贴,如果存在)将以类似于 Windows 应用商店应用的方式显示在“开始”菜单中(由在浏览器安装期间复制的 .XML 清单中指定的属性定义)。否则,磁贴将显示为桌面应用程序. 适用于新用户体验和应用程序桌面模式的动词将出现在磁贴上。... 默认启用新体验的桌面浏览器始终显示为方形磁贴。任何属于默认启用新体验的桌面浏览器的辅助磁贴也会与新用户体验磁贴视觉效果一起出现。

...

激活(启动)。应用程序激活需遵循以下规则:

  • 桌面快捷方式、固定的任务栏图标和其他“桌面神器”可在桌面中激活支持新体验的桌面浏览器。

  • 当浏览器为默认浏览器时,开始屏幕中的磁贴会以新用户体验激活浏览器。当浏览器不是默认浏览器时,磁贴会激活桌面中的浏览器。同样的行为也适用于浏览器的辅助磁贴。

  • 强烈建议浏览器实现“上下文启动”。这意味着在确定来自其他应用的激活(例如当用户在其邮件应用中单击 http:// 链接时)的浏览器呈现方式(桌面或新用户体验)时,将调用应用的呈现方式(桌面或新用户体验)考虑在内。

  • 搜索合约激活始终会在新用户体验中激活。仅当浏览器是用户的默认浏览器时才会发生这些激活。

...

我们建议浏览器提供可配置的设置,让用户控制他们喜欢的呈现体验。例如,名为“选择如何打开链接”的设置,其选项包括 a) 始终启动新体验,b) 始终在桌面上启动,c) 让浏览器决定,即上下文相关(建议的默认值)。

...

调用桌面演示如果启用新体验的桌面浏览器当前未被选为用户的默认浏览器,则它只能在桌面上启动

...

窗口化. 启用新体验的桌面浏览器配置为用户的默认浏览器,可以选择参与新用户体验或桌面,但不能从同一运行进程中同时参与两者。


更新(可能的解决方法):好的,有人需要确认这也适用于他们的系统:

假设 Firefox Nightly 被设置为默认浏览器。转到Control Panel / Programs / Default Programs / Set Default Programs / (Firefox) Nightly / Choose defaults for this program

1

现在取消选中ProtocolsFTP、HTTP 和 HTTPS:

2

现在,当您运行 IE(即使它不是默认版本)时,Metro 版本会运行吗?

答案2

不幸的是,目前还没有办法。你只能忍受微软的诅咒。我认为他们不想让用户在这种限制下轻松启动他们最喜欢的浏览器。

然而 IE-10 中缺少许多功能,其中最大的一个就是 IE-10 的现代 UI/Metro 版本不支持 ActiveX 或其他扩展/附加组件(稍后会详细介绍)。这可能会导致某些网页无法正确显示。如果遇到这种情况,您可以在 IE-10 的桌面版本中打开在 IE-10 的现代 UI/Metro 版本中打开的特定网页。

编辑:在安装并使用 Windows-8 后,我发现了更多有关它的信息。只有将 Chrome 设置为默认浏览器,您才能在 ModernUI 中启动它,图标也有同样的效果,如果您不将其设置为默认,它就会改变。所以看起来 MS 不允许您使用 ModernUI 中的应用程序,除非您不将其设置为默认。

在此处输入图片描述

答案3

无需进入 Modern UI 即可执行 Modern UI 应用程序,虽然 Windows Shell 界面没有太多内容,但你可以找到更多信息和示例代码如何做到这一点。这可以让您在 Modern UI 上下文中启动 Internet Explorer,而无需将其设置为默认浏览器。另一个选项是能够将两个 Internet Explorer 包装在另一个可执行文件中,并支持启动正确的 Internet Explorer 进程的参数(并且可能暂时更改默认值)。如果您不习惯编程,这可能是可行的。

但是如果您采用最后一种方法,那么只需使用执行以下操作的脚本即可:

  1. 记住当前的默认浏览器。

  2. 将默认浏览器更改为Metro浏览器。

  3. 异步启动 Internet Explorer。

  4. 等待几秒钟然后将默认浏览器改回。

您可以使用以下命令查看注册表中记住的默认浏览器的位置进程监控

答案4

可以将 IE10 保留为默认浏览器,但仍以 Modern UI (metro) 启动 Chrome:打开 Chrome 菜单 - “以 Windows 8 模式启动 Chrome”(在“最近的标签”下)。现在可以使用此设置在 Modern UI 和桌面模式之间切换模式。

相关内容