基于谷歌搜索,我发现 Vaadin 8 使用名为 BrowserFrame 的类(例如https://vaadin.com/docs/v7/framework/components/components-embedded.html)有一个很好的“iFrame”支持,或者只是见下文:
BrowserFrame browser = new BrowserFrame("Browser",
new ExternalResource("http://demo.vaadin.com/sampler/"));
browser.setWidth("600px");
browser.setHeight("400px");
layout.addComponent(browser);
但是,这在 Vaadin 12 中不存在。是否有推荐的方法在 Vaadin 12 中创建 iFrame 组件?到目前为止,我通过创建一个 vaadin12 html 组件来破解它,它允许我将任何旧的 html 放入其中,如下所示:
MainApp.iFrameHelp = new Html("<iframe src=\"https://docs.readthedocs.io/en/latest/intro/getting-started-with-sphinx.html/intro/getting-started-with-sphinx.html\"></iframe>");
. 但是,如果这是在 Vaadin 12 中执行此操作的“唯一/正确”方式,那么我怎样才能让这个 html 组件用新页面“更新”。(我注意到一旦创建了 html 组件,就没有“setValue”方法将 html 重置为新值。此外,即使您执行“myHtmlComponent = new Html(...)”之类的操作,它也不会似乎刷新了最终的用户界面....(至少,不在我的代码中。)想法?