C# WebBrowser高级应用
2010-12-02 19:28
274 查看
通过注入脚本实现查看选中内容HTML源代码的功能【目前似乎只有遨游支持此功能,调试页面时很轻盈好用的功能】
private void MainForm_Load(object sender, EventArgs e)
{
wbMain.ObjectForScripting = this;
wbMain.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wbMain_DocumentCompleted);
}
void wbMain_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
InjectGetSelection();
}
private void InjectGetSelection()
{
string js = "function kai_GetSelect(){return document.selection.createRange().htmlText;} ";
//js += " function kai_Delete(){var ele = document.getElementById('jsInject'); ele.parentNode.removeChild(ele);} ";
InjectJS(js);
}
private void InjectJS(string js)
{
var ele = wbMain.Document.CreateElement("script");
ele.SetAttribute("text", js);
ele.Id = "jsInject";
wbMain.Document.Body.AppendChild(ele);
}
private void btnViewSelected_Click(object sender, EventArgs e)
{
if (wbMain.Document == null)
return;
object obj = wbMain.Document.InvokeScript("kai_GetSelect");
if (obj != null)
txtHtml.Text = obj.ToString();
else
txtHtml.Text = "";
//wbMain.Document.InvokeScript("kai_Delete");
}
private void MainForm_Load(object sender, EventArgs e)
{
wbMain.ObjectForScripting = this;
wbMain.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wbMain_DocumentCompleted);
}
void wbMain_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
InjectGetSelection();
}
private void InjectGetSelection()
{
string js = "function kai_GetSelect(){return document.selection.createRange().htmlText;} ";
//js += " function kai_Delete(){var ele = document.getElementById('jsInject'); ele.parentNode.removeChild(ele);} ";
InjectJS(js);
}
private void InjectJS(string js)
{
var ele = wbMain.Document.CreateElement("script");
ele.SetAttribute("text", js);
ele.Id = "jsInject";
wbMain.Document.Body.AppendChild(ele);
}
private void btnViewSelected_Click(object sender, EventArgs e)
{
if (wbMain.Document == null)
return;
object obj = wbMain.Document.InvokeScript("kai_GetSelect");
if (obj != null)
txtHtml.Text = obj.ToString();
else
txtHtml.Text = "";
//wbMain.Document.InvokeScript("kai_Delete");
}
相关文章推荐
- C# WebBrowser高级应用
- C#正则表达式(RegEx)高级应用之分组(Group)替换(Replace)
- C#开发 —— 高级应用
- C#图片处理高级应用(裁剪,缩放,清晰度,水印)
- C#中正则表达式的高级应用
- C#枚举高级应用
- C#图片处理高级应用(裁剪,缩放,清晰度,水印)
- C#—webBrowser应用小记
- 蛙蛙推荐:WebBrowser控件的高级用法,c#和Javascript交互及光标位置恢复
- 蛙蛙推荐:WebBrowser控件的高级用法,c#和Javascript交互及光标位置恢复
- C#图片裁剪高级应用
- C#正则表达式(RegEx)高级应用之分组(Group)替换(Replace)
- c#扩展方法奇思妙用高级篇三:Enumerable.Cast<T>应用
- C#中正则表达式的高级应用
- C# 高级应用--反射动态调用类的成员范例 !
- C# 委托高级应用----线程——创建无阻塞的异步调用(一)
- C# 委托高级应用----线程——创建无阻塞的异步调用(二)
- [技术回顾系列]--c#中事件高级应用
- WebBrowser在C#中的应用
- C#高级应用之CodeDomProvider类