最近开始写一些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. PHP安全编程:register_globals的安全性

    如果你还能记起早期Web应用开发中使用C开发CGI程序的话,一定会对繁琐的表单处理深有体会.当PHP的register_globals配置选项打开时,复杂的原始表单处理不复存在,公用变量会自动建立.它 ...

  2. Yii2使用驼峰命名的形式访问控制器

    yii2在使用的时候,访问控制器的时候,如果控制器的名称是驼峰命名法,那访问的url中要改成横线的形式.例如: public function actionRoomUpdate() { // }//访 ...

  3. Web前端开发最佳实践(5):正确闭合HTML标签,停止使用不标准的标签和属性

    正确闭合HTML标签 HTML元素的内容模型定义了元素的结构,表明元素可以包含哪些内容以及元素可以有哪些属性.元素可以包含的内容包括其他元素和字符,但是也有一些元素是空元素,即不能包含任何内容,这些元 ...

  4. 某PCBA企业应用易普优APS实现高级计划排程案例

    一.项目介绍 1.生产计划现状 某PCBA企业(以下简称A企业)的产品生产是典型的多品种.小批量.多变化的生产模式.其中产品种类有1000多种,主流的200多种,每个月数百个生产订单,分解到工序以后的 ...

  5. poj1753 Flip Game(BFS+位压缩)

    题目链接 http://poj.org/problem?id=1753 题意 一个棋盘上有16个格子,按4×4排列,每个格子有两面,两面的颜色分别为黑色和白色,游戏的每一轮选择一个格子翻动,翻动该格子 ...

  6. jquery 美化弹出提示 漂亮的Dialog 对话框

    三个不同的效果,分别是普通的警告,确认/取消,带一个输入框 本例用了jquery.alertify.js,请到演示页面查看 css文件也请到演示页面查看 JavaScript Code <scr ...

  7. lua常用函数

    select (index, ···) 功能:当index为数字将返回所有index大于index的参数: 如:select(2,"a","b","c ...

  8. thinkphp5.0配置加载

    ThinkPHP支持多种格式的配置格式,但最终都是解析为PHP数组的方式. PHP数组定义 返回PHP数组的方式是默认的配置定义格式,例如: //项目配置文件 return [ // 默认模块名 'd ...

  9. HDU 1231.最大连续子序列-dp+位置标记

    最大连续子序列 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  10. java反射,代码优化

    java的反射机制属实强大,能解决好些问题 在接手别人写的代码的时候,有一个bean类的get方法特别low,我都看不下去 重复代码写五遍,我都觉得太不合理.之后将其中代码抽取出来修改了下. publ ...