WebKit.Net winform程序中c#与js怎样互调
本篇文章为大家展示了WebKit.Net winform程序中c#与js怎样互调,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
实验1:
按钮1事件:
currentPage.browser.DocumentText =
"
"
Hello, World!
" +"
A
B
C
"" +
"
按钮2事件:
currentPage.browser.StringByEvaluatingJavaScriptFromString("f()");
这样当点击按钮1然后再点击按钮2则会跳到pudn中。实验成功。
实验2:
tomcat的webapps/ROOT下有一个index.html文件:
Title Hello, World!
hello world spring boot3A
B
C
在按钮事件中:
currentPage.browser.IsScriptingEnabled = true;
currentPage.browser.StringByEvaluatingJavaScriptFromString("f()");
能成功跳到baidu.能执行browser_NewWindowRequest和browser_NewWindowCreated事件,但不能执行browser_DocumentCompleted,除非browse执行刷新操作。
https://bbs.csdn.net/topics/390962337/ 和 https://sourceforge.net/p/webkitdotnet/discussion/939856/thread/daaed049/ 有说64位的BUG,或多线程的原因,我做的实验都是异常。
private void newWindowToolStripMenuItem_Click(object sender, EventArgs e) { if (MessageBox.Show("This is likely to cause a crash. Continue?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { var thread = new Thread(new ThreadStart(MyThread)); thread.SetApartmentState(ApartmentState.STA); thread.Start(); } } private void MyThread() { Application.Run(new MainForm()); }
好象这样设置了ApartmentState.STA也不起作用。
上述内容就是WebKit.Net winform程序中c#与js怎样互调,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。