千家信息网

WebKit.Net winform程序中c#与js怎样互调

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇文章为大家展示了WebKit.Net winform程序中c#与js怎样互调,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。实验1:按钮1事件:curren
千家信息网最后更新 2025年02月01日WebKit.Net winform程序中c#与js怎样互调

本篇文章为大家展示了WebKit.Net winform程序中c#与js怎样互调,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

实验1:

按钮1事件:

currentPage.browser.DocumentText =
"Test Page" +
"

Hello, World!

" +
"

A

B

C

" +
"" +
"

按钮2事件:

currentPage.browser.StringByEvaluatingJavaScriptFromString("f()");

这样当点击按钮1然后再点击按钮2则会跳到pudn中。实验成功。

实验2:

tomcat的webapps/ROOT下有一个index.html文件:

        Title

Hello, World!

A

B

C

hello world spring boot3

在按钮事件中:

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怎样互调,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0