我正在使用 com.google.gwt.user.client.ui.Frame
并使用 frame.setUrl(FILEPATH) 在 HTML 文件中显示。
我尝试了这段代码,但它不起作用:
frame.getElement().getElementsByTagName("table").getLength()
我想获取 HTML 文件中特定元素的宽度并将框架的宽度设置为与其相同。
我正在使用带有 GWT 插件的 Eclipse。
编辑:我用这些做到了:
IFrameElement iframe = IFrameElement.as(frame.getElement());
Document frameDocument = iframe.getContentDocument();
String width= frameDocument.getElementsByTagName("table").getItem(0).getOffsetWidth() + "px";
frame.setWidth(tmpWidth);
最佳答案
首先,正如 @apanizo 所说,您需要使用 LoadHandler
以确保文档已加载到框架中。
然后,要读入框架的文档,您必须使用 IFrameElement.as(frame.getElement())
或frame.getElement().<IFrameElement>cast()
然后使用 getContentDocument()
.
IFrameElement.as(frame.getElement()).getContentDocument().getElementsByTagName("table").getLength()
最后一点:如果框架中加载的文档与您的 GWT 应用程序的来源不同,则此方法将不起作用。
关于java - 如何使用 setUrl() 从附加到 GWT 框架的 HTML 文件中检索元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23488104/