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


97

Windows 8附带了两个版本的Internet Explorer:普通的桌面版本(类似于IE9)和现代的UI版本(这是全屏平板电脑风格的应用程序)。默认情况下,以桌面模式打开的链接在桌面IE中打开,而在Modern UI应用程序中打开的链接在全屏应用程序中打开。

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

我不太使用IE10,但是我想以Metro模式访问它,因为它可以方便地进行测试。我不想让IE成为我的默认浏览器。有没有办法让IE10“应用”显示出来而无需将IE设置为所有地方的默认浏览器?


我可以想到的解决方法是将收藏夹固定到开始屏幕,希望它将使用Metro浏览器,您是否尝试过?
Tamara Wijsman

1
@TomWijsman,它将在Chrome中打开所有内容。显然,在现代UI环境和桌面环境中,您不能拥有其他默认浏览器。
nhinkle

您认为我们可以将问题概括为涵盖所有浏览器而不是仅涵盖IE吗?按照MS(请参阅下面的答案),“此限制适用于所有浏览器,包括Internet Explorer”。
卡兰2012年

4
我想说清楚为什么我要提这个问题。我对涉及“否”一词的答案不感兴趣。我正在寻找将引擎逆向工程脚本以MUI形式执行应用程序的方法。我怀疑我们是否会在4天后找到解决方案,所以无论取得最大进展还是详细说明所需过程将获得赏金。到目前为止,汤姆·威斯曼(Tom Wijsman)将获得赏金。得到“黑客”!
Tanner Faulkner 2012年

1
Metro和Desktop IE不会使用完全相同的渲染引擎吗?如果您只需要检查渲染,则两者都应该相同。另外,有人尝试过我的解决方法吗?:)
卡兰(Karan)2012年

Answers:


30

正式查询的官方答案(根据MS docs):“您可以在Windows 8中访问非默认浏览器的Metro版本吗?”

简短答案:根据Microsoft的指南,只有默认浏览器才能访问/参与“ Metro风格体验”。因此,这种行为显然是故意的,除非Microsoft更改其准则或浏览器制造商嘲笑它们或创建某种黑客手段,否则我们将坚持下去。


MSDN文章标题为“ Windows应用商店的白皮书”链接到有趣的白皮书,标题为“ 开发支持Metro风格的桌面浏览器”,其中列出了Microsoft的指南。这是文档说明:

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

以下是一些有趣的地方:

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

...

启用新体验的桌面浏览器。当用户表达了对新体验的偏好时,桌面浏览器选择参与。这样的浏览器可以为网页提供HTML5渲染,并服务于HTTP / HTTPS请求。根据定义,这种浏览器可以完全访问Win32 API以呈现HTML5,包括使用多个后台进程,JIT编译以及其他与浏览器明显不同的功能(例如文件的后台下载)的能力。桌面浏览器通常以中等或低完整性级别运行。

...

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

...

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

...

激活(启动)。以下规则控制应用程序的激活:

  • 桌面快捷方式,固定的任务栏图标和其他“桌面工件”会激活桌面中启用了新体验的桌面浏览器。

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

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

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

...

我们建议浏览器提供一个可配置的设置,以使用户可以控制他们偏爱的演示体验。例如,一个名为“选择如何打开链接”的设置,其中包含以下选项:a)始终启动新体验,b)始终在桌面上启动,c)让浏览器根据上下文决定(建议默认)。

...

调用桌面演示文稿如果当前未将启用新体验的桌面浏览器选择为用户的默认浏览器,则只能在桌面中启动

...

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


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

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

1个

现在取消选中,Protocols例如FTP,HTTP和HTTPS:

2

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


为我工作!我所要做的就是点击“设置为默认”,做什么别的(我的默认是/是镀铬),这带来了瓷砖回到开始屏幕。看来IE并未彻底检查其作为默认浏览器的状态。我正在寻找脚本工作,但这完美地回答了这个问题。
Tanner Faulkner

那很棒!:)
Karan 2012年

3
这只是一种调整,我们无法FTP, HTTP, HTTPS通过任何应用程序在默认浏览器中打开URL。假设我想查看G-talk的历史记录,那么它将在IE 10中而不是默认浏览器中打开。我们也为这些协议设置了IE 10默认值。
2012年

@Tanner:执行此操作后,Chrome不是您的默认浏览器,因为其他程序中的Web链接将不再在Chrome中打开。当微软最初不允许第三方Metro浏览器时,会不会大惊小怪?他们应该继续这样做,因为这个残废的Chrome Metro版本毫无意义。
paradroid

9
这是疯狂的迟钝。他们在想什么!?
BlueRaja-Danny Pflughoeft

9

不幸的是,这还没有办法。您必须忍受MS的诅咒。我认为他们不想让用户在此限制下轻松启动自己喜欢的浏览器。

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

编辑:安装并使用Windows-8后,我发现了更多有关它的信息。仅当您将Chrome设置为默认浏览器时,才能在ModernUI中启动Chrome,并且对图标也具有相同的效果,如果您未将其设置为默认,则会更改它。如此看来,除非您未将其设置为默认值,否则MS不允许您在ModernUI中使用该应用程序。

在此处输入图片说明


3
永远不要把话说绝了!(请注意,我引用的是TS,而不是JB)
Tamara Wijsman,2012年

对我来说,最奇怪的部分是注意到从固定的任务栏快捷方式启动的Chrome浏览器会打开桌面用户界面版本,而刚在起始页/菜单中创建的新快捷方式会打开都会版。
Nemo 2012年

3

可以在不使用Modern UI的情况下执行Modern UI应用程序,而Windows Shell界面并没有说明太多,您可以找到更多信息以及有关如何执行此操作的示例代码。这可以允许您在现代UI上下文中启动Internet Explorer,而无需将其设置为默认浏览器。另一个选择是能够将两个Internet Explorer包装在另一个可执行文件中,并支持启动正确的Internet Explorer进程的参数(并且可能会临时更改默认值)。如果您不习惯编程,可能会出现这种情况。

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

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

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

  3. 异步启动Internet Explorer。

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

您可以使用Process Monitor查看注册表中记住默认浏览器的位置。


你测试过这个过程了吗?当我将任何其他浏览器设置为默认浏览器时,当前运行的Modern UI浏览器将自动关闭。
鲍勃

有趣的是,摆脱它的唯一方法是编写一个挂钩,以使Modern UI浏览器杀手think以为默认浏览器不会改变。如果要获得所描述的行为,似乎需要一种低级/逆向工程解决方案……
Tamara Wijsman 2012年

1

如果Internet Explorer不是默认浏览器,则Metro磁贴消失。

根据Microsoft的说法(没有任何意义)是这样的:

支持Metro风格的桌面浏览器仅在默认浏览器时才可以参与Metro风格的用户体验。将Metro风格的用户体验参与限制为用户的默认浏览器的限制植根于保留Metro风格的用户体验。

但是,根据本文-http: //www.neowin.net,看来将IE作为某些文件关联的默认设置,例如将Firefox用于大多数其他文件关联的默认设置,您仍然可以在Metro中使用IE 。 / forum / topic / 1064128-为什么当它不是默认浏览器/ page__p__594731222#entry594731222时为什么不做ie10-地铁工作。话虽如此,该帖子的日期为3月15日,目前尚不清楚它是否适用于当前零售版本。

由于似乎有一个“为此程序选择默认值”按钮,我建议您尝试将IE设置为默认值,然后在Chrome浏览器中选择默认值,在其中为它提供大多数文件关联(包括所有常用的互联网协议和扩展名)

资料来源:


0

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


5
那不是问题。问题是相反的:如何在桌面上使用Chrome或Firefox,以及如何在Metro模式下使用Internet Explorer。
nhinkle
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.