首页 新闻 赞助 找找看

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

0
[已解决问题] 解决于 2020-01-13 16:28

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

C#
WeiYongZhi的主页 WeiYongZhi | 菜鸟二级 | 园豆:210
提问于:2019-08-03 16:11
< >
分享
最佳答案
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());
}

奖励园豆:5
BoneMan | 菜鸟二级 |园豆:238 | 2019-08-12 17:25

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

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