首页新闻找找看学习计划

C# Winfrom中webBrowser1如何捕获js代码中的windows.open()里的url

0
[待解决问题]

C# Winfrom中webBrowser1如何捕获js代码中的windows.open()里的url
比如在webBrowser1打开一个页面,页面里有一个超链接,这个超链接是在js里的windows.open()中写的,想在webBrowser1_NewWindow事件中捕获他并用系统默认浏览器打开,如何实现

C#
WeiYongZhi的主页 WeiYongZhi | 菜鸟二级 | 园豆:204
提问于:2019-08-03 16:11
< >
分享
所有回答(1)
0

首先有两个问题:
1、你的url是否定义了变量存储?
2、NewWindow 事件是新窗口创建时发生的是捕获不到任何script内容的,尝试其他事件

如果你要获取的值只是一个函数的字符串参数,怎么可能获取得到,必须定义变量或返回值;
例:
//js定义
function open_win(isType) {
var url='https://home.cnblogs.com';
if(isType=='1'){window.open(url);}
return url;
}

//winform事件执行与获取
object value = webBrowser1.Document.InvokeScript("open_win", new object[] { "0" });
if (value != null)
{
MessageBox.Show(value.ToString());
//默认浏览器打开url
//System.Diagnostics.Process.Start(value.ToString());
}

BoneMan | 园豆:216 (菜鸟二级) | 2019-08-12 17:25

谢谢回答 ,这个方法并不适用我的项目,因为你这个例子的前提是你知道这个js是怎么写的
我的项目获取的页面含有不确定性

支持(0) 反对(0) WeiYongZhi | 园豆:204 (菜鸟二级) | 2019-08-12 17:35

@WeiYongZhi: 那你需要把你的问题和代码环境都帖出来,不然大家是没有办法针对性的作出解决方案的

支持(0) 反对(0) BoneMan | 园豆:216 (菜鸟二级) | 2019-08-12 17:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册