我在这里遇到了这样的问题:
我在 webbrowser 控件中有一个网页。该页面使用 javascript 并订阅了事件数(即点击)。
这是需要的算法:
- 在 webbrowser 组件中加载页面
- 在代码强制页面的 C# 部分中取消订阅 javascript 事件
有没有办法做到这一点?
提前致谢。
我在这里遇到了这样的问题:
我在 webbrowser 控件中有一个网页。该页面使用 javascript 并订阅了事件数(即点击)。
这是需要的算法:
有没有办法做到这一点?
提前致谢。
1.方法:在javascript中创建退订函数,然后从c#端调用,
在页面代码中:
<script type="text/javascript">
// assign the event to the element
document.getElementById("myElem").onclick = function(){
//your code here
}
// clear the event
function clearEvent(){
document.getElementById("myElem").onclick = function(){
return false;
}
}
</script>
在 C# 方面:
IHTMLDocument2 doc = (IHTMLDocument2)IE.Document;
IHTMLWindow2 parentWindow = doc.parentWindow;
if (parentWindow != null)
parentWindow.execScript("clearEvent();", "javascript");
}
2.方法:直接从c#调用退订代码
IHTMLDocument2 doc = (IHTMLDocument2)IE.Document;
IHTMLWindow2 parentWindow = doc.parentWindow;
if (parentWindow != null)
parentWindow.execScript("document.getElementById('myElem').onclick=function(){return false;}", "javascript");
}