div 内另一个页面的 GWT 显示 HTML

GWT display HTML of another page inside div

我正在使用 GWT。我有一个字符串,其中包含 HTML 电子邮件的所有 HTML,该电子邮件具有一些 css 样式,例如绿色链接。

我想在我的 GWT 应用程序中显示该电子邮件,但是当我使用 HTML 小部件并添加 HTML 时,我最终更改了整个页面的 CSS 样式,例如,我所有的链接都会根据电子邮件中指定的颜色更改颜色。

好像我想使用 iframe,但我不能将它指向不同的 URL,而是我想使用我拥有的字符串并填充 HTML它。

您可以按照此处所述进行操作:http://bealetech.com/blog/2010/01/25/embedding-html-document-in-an-iframe-with-gwt/


作为参考,这是一个简短的总结:

创建一个 IFrameElement.

IFrameElement iframe = Document.get().createIFrameElement();

并将其添加到您的页面。

然后使用如下本机函数将 HTML 邮件的内容写入此元素:

private final native void fillIframe(IFrameElement iframe, String content) {
    var doc = iframe.document;

    if(iframe.contentDocument)
        doc = iframe.contentDocument; // For NS6
    else if(iframe.contentWindow)
        doc = iframe.contentWindow.document; // For IE5.5 and IE6

     // Put the content in the iframe
    doc.open();
    doc.writeln(content);
    doc.close();
};