您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關WebKit.Net winform程序中c#與js互調實驗傳參和返回值異常的示例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
currentPage.browser.IsScriptingEnabled = true; //currentPage.browser.StringByEvaluatingJavaScriptFromString("var _elm = document.getElementById('testelement');var _evt = document.createEvent('MouseEvents');_evt.initEvent('click', true, true);_elm.dispatchEvent(_evt);"); Console.WriteLine("888888888888888888888"); Console.WriteLine("currentPage.browser.DocumentText=" + currentPage.browser.DocumentText); //currentPage.browser.StringByEvaluatingJavaScriptFromString("document.getElementById('testelement').click()"); //currentPage.browser.Document.InvokeScriptMethod("test",new object[]{"name","address"});//出異常,不能這樣調用,要如下面這樣調用 //currentPage.browser.StringByEvaluatingJavaScriptFromString("f()"); //string returnvalue = (string)currentPage.browser.Document.InvokeScriptMethod("f"); //Console.WriteLine("returnvalue=" + returnvalue); //currentPage.browser.Document.InvokeScriptMethod("test", new object[] { "name", "address" }); //string msg = currentPage.browser.StringByEvaluatingJavaScriptFromString("function GetElement() {return document.getElementsByTagName(\"testelement\")[0].outerHTML};"); //currentPage.browser.Invoke((MethodInvoker)delegate { currentPage.browser.Document.InvokeScriptMethod("GetElement"); }); object msg = currentPage.browser.Document.InvokeScriptMethod("GetElement"); Console.WriteLine("msg=" + msg);
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <p id="testelement" >Hello, World!</p> <div><p>A</p><p>B</p><p>C</p></div> hello world spring boot3111 window.alert("Name is " + name + "; address is " + address); function GetElement() { return document.getElementsByTagName("testid")[0].outerHTML}; <script type="text/javascript"> function f() { document.title="abc";window.open('https://www.baidu.com', 'myWindow'); } function test(name, address) { document.title=name; } function GetElement() {return document.getElementsByTagName('testelement')[0].innerText}; </script> <div id="testid"> <span >test1</span> test2 </div> <a href="javascript:alert(testid.innerHTML)">innerHTML內容</a> <a href="javascript:alert(testid.innerText)">innerText內容</a> <a href="javascript:alert(testid.outerHTML)">outerHTML內容</a> </body> </html>
wbkit.net實驗發現:不管是c#給js函數傳什么參數或者說js函數給c#返回什么值,總是異常。只有c#單純調用js中函數且函數名不帶括號才能成功。
看完上述內容,你們對WebKit.Net winform程序中c#與js互調實驗傳參和返回值異常的示例分析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。