这是 HTML 代码:
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
alert('hi');
}//]]>
</script>
不仅是警报、弹出窗口、新标签、新窗口,还有任何导致焦点改变的东西。
换句话说,我不希望 WebBrowser 控件获得焦点或更改当前焦点。
正在寻找不损害任何网页的解决方案(我需要启用 javascript)。
最佳答案
理论上,您应该实现 IProtectFocus
,但显然它存在问题:
另一种选择可能是实现 CBTHook
, 如果获得焦点的窗口是 WebBrowser
对象的子窗口,则处理 HCBT_SETFOCUS
并拒绝它(返回 1 以防止它发生)。
免责声明:我自己没有尝试过以上任何一种。
关于c# - 如何防止浏览器控件中的弹出窗口、新标签、新窗口和消息框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21898300/