open-webkit-sharp的webKitBrowser浏览器控件,如何实现js脚本调用c#的方法

jwh2004 2014-10-30 11:23:39
如题,我用WebKit.NET的封装接口软件open-webkit-sharp,在c#的WinForm窗体内嵌入webKitBrowser浏览器控件,
在webKitBrowser内打开htm的页面,页面上内有按钮,我想点击按钮时,用js脚本调用c#的方法函数。
若使用c#自带的WebBroeser控件内,在htm页面用js脚本调用c#的方法函数,用window.external
可正常调用c#的方法函数。但open-webkit-sharp的webKitBrowser内,window.external调用c#无反应。

说明:因为我htm的页面样式与ie不兼容,不能用c#自带的WebBroeser控件。
请问有人知道webKitBrowser如何实现js脚本调用c#的方法。
另外,传参和返回值如何实现??即SetTitle2方法调用如何实现?

htm页面:
<script language="javascript" type="text/javascript">
function SetValue() {
var target = document.getElementById("Texthtm2").value;
window.external.SetValue();
//var ret = window.external.SetValue(target);
}

<button id="BtnSetValue" onclick="ChangeText2()">改变文本</button>
<input id="Texthtm2" type="text" size="100" />


C#:
public void SetTitle()
{
......
}

public int SetTitle2(string s)
{
......
return 100;
}


...全文
5538 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38245499 2018-09-17
  • 打赏
  • 举报
回复
webKitBrowser.GetScriptManager.ScriptObject = new myClass(webKitBrowser);编译都通不过
古构 2015-12-27
  • 打赏
  • 举报
回复
引用 6 楼 crystal_lz 的回复:
为什么要用js来调用 好奇葩 在WebBrowser 中 貌似我记得有一个 GetElementByxxx(xxx).Click += 事件 就能绑定事件了。。。
人家的网页不支持IE... 所以只能用webkit... webkit没有GetElementByID(xxx).Click,只有用WebKitbrowser.StringByEvaluatingJavaScriptFromString(@"Document.GetElementsByID(xxx).click()");
crystal_lz 2015-12-12
  • 打赏
  • 举报
回复
为什么要用js来调用 好奇葩 在WebBrowser 中 貌似我记得有一个 GetElementByxxx(xxx).Click += 事件 就能绑定事件了。。。
wisecn 2015-12-12
  • 打赏
  • 举报
回复
怎么设置在打印时候下面有页码?
xufzu123 2015-05-06
  • 打赏
  • 举报
回复
可以调用的,下面是我的调用实例。 实现功能:点击页面上的某个图片,弹出百度网页 js代码: <img alt="" src="/image/home.png" style="height: 79px; width: 110px" onclick="window.external.Say('www.baidu.com'); return false"/> C#代码: webKitBrowser.GetScriptManager.ScriptObject = new myClass(webKitBrowser); [System.Runtime.InteropServices.ComVisibleAttribute(true)] class myClass { private WebKitBrowser webKitBrowser; public myClass(WebKitBrowser webkit) { this.webKitBrowser = webkit; } public void Say(string msg) { webKitBrowser.Navigate(msg); } }
jwh2004 2014-11-04
  • 打赏
  • 举报
回复
相近的一些浏览器控件方面,谁用过给个帮助啊
jwh2004 2014-11-03
  • 打赏
  • 举报
回复
对这方面有经验的人给个参考或建议啊
jwh2004 2014-10-31
  • 打赏
  • 举报
回复
自己顶一个,期待中

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧