c# - 在 WebBrowser 控件中注入(inject) CSS

标签 c# html css webbrowser-control

当前正在尝试使用 IHTMLStyleSheet 在 WebBrowser 控件中注入(inject) CSS

How to inject CSS in WebBrowser control?

我读了这篇文章,我认为它有点帮助,但其中的内容似乎对我不起作用。

        IHTMLDocument2 doc = (webBrowser1.Document.DomDocument) as IHTMLDocument2;
        IHTMLStyleSheet ss = doc.createStyleSheet("", 0);                        
        ss.addRule("body", "background-color:#000");
        ss.cssText = @"h1 { color: blue; }";

这是我目前拥有的,我是否需要在此之后将其添加到控件中,或者我在这里做错了什么?

编辑: 让它工作在这里,这就是我所做的

            CurrentDocument = (mshtml.HTMLDocument)webBrowser1.Document.DomDocument;
            styleSheet = CurrentDocument.createStyleSheet("", 0);

            StreamReader streamReader = new StreamReader(@"test.css"); //test.css is Stylesheet file
            string text = streamReader.ReadToEnd();
            streamReader.Close();
            styleSheet.cssText = text;

最佳答案

我做了什么来让它工作

        CurrentDocument = (mshtml.HTMLDocument)webBrowser1.Document.DomDocument;
        styleSheet = CurrentDocument.createStyleSheet("", 0);

        StreamReader streamReader = new StreamReader(@"test.css"); //test.css is Stylesheet file
        string text = streamReader.ReadToEnd();
        streamReader.Close();
        styleSheet.cssText = text;

关于c# - 在 WebBrowser 控件中注入(inject) CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48576595/

相关文章:

python - Web 抓取带有 <pre> 预格式化文本且没有标签的 .htm 页面

javascript - 如何通过 iframe 打开 JQuery 模式弹出对话框?

javascript - Angular 自定义复选框指令在 ng-repeat 中不起作用

html - 在页面上居中可变大小的 block 元素

c# - 为什么有些 C# 方法使用对象来传递参数而不是直接传递它们?

c# - 如何获得父控件的所有子项?

c# - 如何在 Winforms 项目中绘制笛卡尔点?

javascript - html 不允许我们在 textarea 中选择交替行

c# - 从 Azure 函数针对 FTP 服务器(主动模式)运行 C# FTP 客户端 - "500 Syntax error, command unrecognized"

css - 写在 Bootstrap 顶部面板行上?