gpt4 book ai didi

java - Java中如何通过Document接口(interface)访问外部样式表?

转载 作者:太空宇宙 更新时间:2023-11-03 21:59:11 26 4
gpt4 key购买 nike

我有一个指向有效对象的接口(interface)引用(instanceof 文档)。问题是我想查看与 DOM 中特定元素关联的 style 属性,但它只会公开 inline 属性(而 < em>样式 已通过外部 样式表设置)。最终目标是获取对 ViewCSS 的引用,因为我想查看关联的计算样式 - 我该怎么做?我假设,可能需要获取一个 DocumentView 对象(如果需要,如何获取,因为我没有找到任何返回上述对象的方法)?


Document document = ...;

document.getImplementation().hasFeature("Views", "2.0"));

这将返回 true

Object obj = document.getImplementation().getFeature("Views", "2.0");

这会抛出一个 java.lang.UnsupportedOperationException:还不支持。


我做错了什么,如何解决它以及解决这个问题的最佳方法是什么(我想查看/更改此文档的相关计算样式)?谢谢。

编辑:

我认为这是最初应该提供的详细信息的重要部分:

java.lang.UnsupportedOperationException: Not supported yet.
at com.sun.webpane.webkit.dom.NodeImpl.getFeature(Unknown Source)

返回的 Document 对象来自在 WebEngine 上触发的 javafx 包。

最佳答案

可能是这个片段解决了你的问题:

Document doc = ???;
HTMLDocument htmlDoc = (HTMLDocument)doc;
final HTMLBodyElement body = (HTMLBodyElement)htmlDoc.getBody();

//JS [window] access
DOMWindowImpl wnd =
(DOMWindowImpl)((DocumentView)htmlDoc).getDefaultView();

//Style access
CSSStyleDeclaration style = wnd.getComputedStyle(body, "");
assertEquals("Style extraction", "blue", style.getPropertyValue("background-color"));

关于java - Java中如何通过Document接口(interface)访问外部样式表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11737034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com