WPF WebBrowser 控件在 x64 机器上显示IE/Flash 错误解决方法
在WebBrowser控件中显示flash代码如下:
String _mediaUrl = "http://www.youtube.com/v/L-1GdoOXAl8&autoplay=1";
String jsString = "<script type=\"text/javascript\" language=\"JavaScript\"> window.onerror=myErrorHandler; function myErrorHandler() { return true;}</script>";
WebBrowser.NavigateToString(String.Format("<html><head>{1}</head><body style=\"background-color:#F1F1F1; margin:0; padding:0\"><object width=\"100%\" height=\"100%\"><param name=\"movie\" value=\"{0}&hl=fr&fs=1&rel=0&border=0\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"><param name=\"wmode\" value=\"transparent\"></param><embed src=\"{0}&hl=fr&fs=1&rel=0&border=0\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" wmode=\"transparent\" allowfullscreen=\"true\" width=\"100%\" height=\"100%\"></embed></object></body></html>", _mediaUrl, jsString));
如果编译时 目标平台 选择 anyCpu 则不能正常显示flash,出现一个错误框,选择 x86 则可以正常显示flash。
在WebBorwser控件中 禁止声音的写法如下
//在úWebBrowser控件中禁用单击声音
string str = "<body ondragover='window.event.returnValue=false;'>";
WebBorwser.NavigateToString(str);
如果目标平台选择 anyCpu 则提示错误,选择 x86 一切正常
在目前使用WebBorwser,最好选择 x86平台,不能享受到x64平台下的一些优点。