3 个答案:
答案 0 :(得分:3)
这是我根据你的描述使用的方法,它工作正常。
public MainForm()
{
InitializeComponent();
webBrowser.DocumentCompleted += webBrowser_DocumentCompleted;
var text = @"
hello everyone!
";
webBrowser.DocumentText = text;
}
void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var doc = webBrowser.Document.DomDocument as IHTMLDocument2;
var styleSheet = doc.createStyleSheet(string.Empty, 0);
var ruleIndex = styleSheet.addRule(".backgroundImageDivsClass", "display:none", 0);//index can be used to remove the rule
//styleSheet.cssText = @".backgroundImageDivsClass{display:none;}";
}
答案 1 :(得分:2)
styleSheet.cssText = @".backgroundImageDivsClass{display:none !important;}";
是我的建议吗?它会强制覆盖任何试图设置display属性的东西。 (与图像旋转器控件一样)因为任何!重要标签最后由DOM应用
如果这不起作用,请进一步帮助..
使用Firefox中的firebug插件,确定动态应用于Div的CSS属性。
您可以实时编辑firebug渲染的CSS,直到找到有效的解决方案,然后将其合并到您的解决方案中。
答案 2 :(得分:1)
我认为问题是你在Document上使用createStyleSheet方法而不是在Document.DomDocument上使用。
答案here可能是一个有用的参考。
另外,正如您可以阅读here不再支持createStyleSheet。从Internet Explorer 11开始,您应该使用document.createElement(' style')