最近开始写一些WPF的小Sample和文章,但是毕竟WPF应用程式不像Silverlight那么方便的只要装个Plugin就可以透过浏览器来看执行结果,因此把脑筋动到了改用WPF Browser Application上,虽然它是WPF,但是一样可以透过浏览器来执行,这样就可以一边看文章一边看范例。

首先,来看看IE9的设定方式:

在IE9预设的设定下,是没办法正常浏览XBAP的,得要更改一下设定才行,还没更改设定之前看到的画面可能会像下图:

还好要开始这个功能非常的简单,只要点选IE9功能表的工具 -> 网际网路选项 ->切换到「安全性」页签->按下「自订等级」按钮->于XAML浏览器应用程式下面的选项中选取「启用」,并按下下方的确定钮,之后逐一按下确定关闭所有的对话视窗即可。

修改完设定之后,只要重新整理画面,原来无法正常显示的区域就恢复正常啰!!


再来,看看FireFox的替代方案:

毕竟FireFox不是微软自家的产品,所以要正常的显示XBAP的话需要透过外挂元件才行,而在.Net Framework 3.5 SP1中就包含了这个外挂元件,预设档名与路径为C:\Windows\Microsoft .NET\Framework\v3.5\Windows Presentation Foundation\NPWPF.dll

只要把它复制到FireFox安装目录下的Plugins资料夹中,就可以正常的显示XBAP的内容啰!!

(如果在Windows7里找不到这个档的话,可以看看有安装.Net Framework 3.5 SP1的XP或是Windows Server2003的相同资料夹有没有,有的话复制到Windows7一样可行)


最后,来看看Chrome得怎么修改:

很神奇的,在Chrome中如果浏览到含有XBAP的网页,它会持续的跳出说找不到xpcom.dll的错误讯息,而这个档哪里来呢?各位观众~~这个档案在FireFox的安装目录里!!!

只要将系统的Path设定中加入FireFox的安装路径就可以正常的用Chrome浏览含有XBAP的档案啦!!(当然,前提是得先安装好FireFox,神奇吧!?)

系统的Path在哪设呢?请打开控制台 -> 系统 -> 进阶系统设定 -> 环境变数 ->在系统变数清单中找到Path ->按下编辑钮->于变数值栏位后方加入; FireFox安装路径(如;C:\Program Files (x86)\Mozilla Firefox)后按下确定钮即可。

OK~在Chrome下也能正常浏览啦!!


2012/03/09补充:

万一使用的作业系统是Windows XP,又想使用Chrome浏览XBAP档,就需要辛苦一点,额外手动将以下几个位于FireFox安装资料夹下的档案,复制到Chrome安装资料夹(预设路径为C :\Users\[使用者帐号]\AppData\Local\Google\Chrome\Application )里:

mozcrt19.dll 
nspr4.dll 
nss3.dll 
nssutil3.dll 
plc4.dll 
plds4.dll 
smime3.dll 
ssl3.dll 
xpcom.dll 
xul.dll

OK~Windows XP里的Chrome也可以正常浏览啦!!

使用IE9、FireFox与Chrome浏览WPF Browser Application(.XBAP)的方式的更多相关文章

  1. WPF, WPF Browser Application(XBAP) 和 Silverlight 的区别

    由图可见,XBAP与WPF的区别是“受限的”:Silverlight与XBAP的区别是,不需要.NET Framework. 上星期與以前的同事爭論著究竟使用XBAP來開發XX用戶端 (為筆者之前開發 ...

  2. How to update WPF browser application manifest and xbap file with ‘mage.exe’

    老外参考文章1 老外参考文章2 I created a WPF browser application MyApp then published it by ClickOnce in VS2008. ...

  3. Firefox、Chrome、IE9、IE8、IE7、IE6等浏览器HTTP_USER_AGENT汇总

    Firefox.Chrome.IE9.IE8.IE7.IE6 浏览器HTTP_USER_AGENT汇总 结论:  浏览器 \ OS XP(IE6) XP(IE7) XP(IE8) Win7 x64(I ...

  4. 浏览器HTTP_USER_AGENT汇总——Firefox、Chrome、IE9、IE8、IE7、IE6

    结论:  浏览器 \ OS XP(IE6) XP(IE7) XP(IE8) Win7 x64(IE9) 猎豹浏览器2.0急速模式     Chrome/21 猎豹浏览器2.0兼容模式 IE6     ...

  5. 兼容最新firefox、chrome和IE的javascript图片预览实现代码

    这篇文章主要介绍了兼容最新firefox.chrome和IE的javascript图片预览实现代码,测试了浏览器firefox6.firefox12.chrome 25.0.1364.172 m.IE ...

  6. 【转发】NPAPI学习(Firefox和Chrome扩展开发 )

    NPAPI学习(Firefox和Chrome扩展开发 ) 2011-11-08 14:41:02 by [6yang], 1172 visits, 收藏 | 返回 Firefox和Chrome扩展开发 ...

  7. CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chrome、Opera

    CSS Hack大全-教你如何区分出IE6-IE10.FireFox.Chrome.Opera 转载自:http://www.jb51.net/article/50116.htm 现在的浏览器IE6- ...

  8. Selenium+Python:下载文件(Firefox 和 Chrome)

    引自  https://blog.csdn.net/Momorrine/article/details/79794146 1.      环境 操作系统 Win10 IDE Eclipse (Oxyg ...

  9. CSS兼容IE6 IE7 IE8 IE9 Firefox的总结

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. python开发web服务器——搭建简易网站

    参看:https://blog.csdn.net/baidu_35085676/article/details/69807145

  2. [ python ] 格式化输出、字符集、and/or/not 逻辑判断

    格式化输出 %: 占位符 s: 字符串 d: 数字 %%: 表示一个%, 第一个%是用来转义 实例: name = input('姓名:') age = int(input('年龄:')) print ...

  3. JAVA(一)变量

    public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(" ...

  4. 计算 Python (list or array) 相同索引元素相等的个数

    上代码: a = [2, 3, 3, 1, 1, 3, 3, 3, 2, 1, 3, 1, 3, 2, 2, 2, 3, 1, 2, 3, 2, 3, 1, 1, 2, 1, 1, 1, 2, 2, ...

  5. CentOS/RHEL Linux安装EPEL第三方软件源

    https://www.vpser.net/manage/centos-rhel-linux-third-party-source-epel.html

  6. ​Web(click and script) 与 Web(HTTP/HTML)协议区别

    Web(click and script) 与 Web(HTTP/HTML)协议区别 webjavascriptvbscript浏览器脚本login 先从最简单的说明上来看, Web(HTTP/HTM ...

  7. bzoj 1816 二分

    思路:二分答案,然后我们贪心地先不填最小的一堆,看在最小的一堆消耗完之前能不能填满其他堆. #include<bits/stdc++.h> #define LL long long #de ...

  8. 在CentOS7命令行模式下安装虚拟机

    转载:https://blog.csdn.net/sunnyfg/article/details/51493602 1.主机环境描述: 操作系统:CentOS7 系统GUI:无 CPU:Intel4代 ...

  9. springMVC+freemarker实现自定义标签

    在开发过程中,有些需要引用到重复的页面,或者动态的数据 修改数据库是可以实现,但是太麻烦了. freemarker自定义标签在开发中用途很广,就说个入门实例吧 基于springmvc. 首先需要导入对 ...

  10. export导出.xls时,在火狐的情况下出现表名乱码的情况的解决方案

    response.setContentType("application/octet-stream; charset=utf-8");fileName = exportDataDt ...