我想要做的是当WPF WebBrowser加载页面时我只想在页面内容上放置一些以防止用户在下载页面中发现任何点击事件。
所以这个想法以某种方式插入包含它的风格到下载页面......
有可能吗?
如果是,那么如何在C#中实现呢?
答案 0 :(得分:3)
您可以导航到javascript:
网址吗?这可能是做到这一点的廉价方式,我相信这就是我过去做的事情。
还有另一种涉及直接访问DOM的方法。它涉及访问WebBrowser.Document
,您可以将其转换为COM类型。我需要回答你的具体技巧 - 我把它保存在某个地方 - 但MSDN上有一点点暗示。
编辑:
测试JavaScript的最简单方法是执行以下操作:
webBrowser.Navigate("javascript:alert('Test');")
如果您在没有网页消失的情况下收到Test
的对话框,那就可以了。如果测试有效,您可以插入任何想要的JavaScript。例如:
webBrowser.Navigate("javascript:void(document.body.innerHTML = '<div>Test</div>' + document.body.innerHTML);");
我要试一试,但这是未经测试的,所以请记住,您可能需要稍微调整一下这个过程。
ShDocVw.dll
。using
命名空间添加mshtml
语句。WebBrowser.Document
对象转换为mshtml.IHTMLDocument2
界面。编辑:This question有一些很好的例子。不过,我会使用普通转换代替as
关键字。 obj as Something
是obj is Something ? (Something)obj : null
的语法糖。这里额外的测试真的没必要。