从IE中的HtmlElement的Dom获取IHTMLStyle3
我在表单上有一个System.Windows.Form.WebBrowser控件。 我将该浏览器对象导航到url。
页面加载完成后,我想分析加载页面的各个方面。
特别是我有兴趣看到在IHTMLStyle3接口上找到的属性’writingMode’。
就像是:
public void MyMethod(HtmlElement element) { IHTMLElement2 element2 = element.DomElement as IHTMLElement2; IHTMLStyle3 style3 = element2.currentStyle as IHTMLStyle3; string writingMode = style3.writingMode; ...
问题是,style3值为null。 我认为这意味着IHTMLElement2.currentStyle不支持IHTMLStyle3。
我也试过尝试过铸造IHTMLELement.style。 但是,虽然它确实很快就像IHTMLStyle3一样,它似乎并没有包含样式,因为它已应用于Html元素。
查看文档,我认为您需要获取IHTMLElement2.currentStyle
属性,因为常规style
属性仅为内联样式。 这种差异在IHTMLElement2.currentStyle
的备注中IHTMLElement2.currentStyle
:
当对象的样式未设置为内联时,IHTMLStyle和IHTMLCurrentStyle接口的属性返回的值会有所不同。 例如,如果网页的作者仅通过链接或嵌入的样式表将段落的颜色属性设置为红色,而不是内联,则IHTMLCurrentStyle :: color属性返回值red和IHTMLStyle :: get_color属性不返回值。 但是,如果作者指定了color属性的内联值,如下例所示,IHTMLCurrentStyle :: color和IHTMLStyle :: get_color属性都返回红色值。
currentStyle
提供了一个IHTMLCurrentStyle
接口,当查询IHTMLCurrentStyle2
时, writingMode
根据需要为您提供writingMode
。
上述就是C#学习教程:从IE中的HtmlElement的Dom获取IHTMLStyle3分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1000952.html