【发布时间】:2012-03-22 23:42:34
【问题描述】:
我的 C# 应用程序中有一个 WebBrowser 控件。网络浏览器在用户的控制之下,即他可以在网络上加载他的电脑可以访问的任何网页(当然受限于代理、hosts文件等)。
当网页浏览器组件中加载的页面内有 Javascript 调用时,我需要知道并得到通知。
第一个例子:给定这样的链接
<a href="javascript:void(0)" onclick="jsFunct();">test</a>
当用户点击链接时,我需要知道函数“jsFunct”已被调用。
第二个例子:给定一个电话
<script type="text/javascript">
window.setTimeout("jsFunct()", 1000);
</script>
我需要知道,脚本执行后1秒,函数jsFunct已经被调用。
最好的办法是在函数被调用时触发一个事件。如果事件可以执行 Javascript 代码,或者至少是参数中的函数名,那也很棒。
编辑:
即使问题与 webbrowser 组件有关,任何允许用户检测 javascript 激活(甚至通过 js)的东西都可以,能够注入处理 javascript 事件并将其传递给 wb 控件的 js触发一些它可以处理的事件。
【问题讨论】:
标签: javascript c# browser webbrowser-control dom-events