目录
一、WebBrowser加载远程网页
二、WebBrowser加载本地网页,注:不可以加载本地样式CSS和脚本JS文件
三、WebBrowser隐藏网页的JavaScript错误
四、网页屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键
五、WPF程序与网页JavaScript交互
六、创建服务器,提供数据接口、Script、CSS文件
一、WebBrowser加载远程网页
wbrExam.Source = new Uri("http://cnblogs.com/sntetwt");
二、WebBrowser加载本地网页,注:不可以加载本地样式CSS和脚本JS文件
Uri uri = new Uri("pack://application:,,,/WPFSctipt;component/res/template.html", UriKind.Absolute);
Stream source = Application.GetResourceStream(uri).Stream;
wbrExam.NavigateToStream(source);
三、WebBrowser隐藏网页的JavaScript错误
this.wbrExam.SuppressScriptErrors(true);
/// <summary>
/// WebBrowser隐藏网页的JavaScript错误
/// </summary>
public static class WebBrowserExtensions
{
public static void SuppressScriptErrors(this WebBrowser webBrowser, bool hide)
{
FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
if (fiComWebBrowser == null) return;
object objComWebBrowser = fiComWebBrowser.GetValue(webBrowser);
if (objComWebBrowser == null) return;
objComWebBrowser.GetType().InvokeMember("Silent", BindingFlags.SetProperty, null, objComWebBrowser, new object[] { hide });
}
}
四、网页屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键
<script type="text/javascript">
//屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键
document.oncontextmenu = function(){event.returnValue=false;}//屏蔽鼠标右键
window.onhelp = function(){return false} //屏蔽F1帮助
document.onkeydown = function()
{
if ((window.event.altKey)&&
((window.event.keyCode==37) || //屏蔽 Alt+ 方向键 ←
(window.event.keyCode == 39))) { //屏蔽 Al