我正在尝试将Google小工具添加到FlowPanel(或HTMLPanel)中,但是在加载主页后,它会导航离开我的页面并在新页面中显示小工具,如果我单击浏览器的后退按钮则会加载主页并再次导航到新页面以显示小工具。
以下是代码:
String code="here_goes_scrip_tag_for_gadget";
flowPanel.add(new HTML(SafeHtmlUtils.fromTrustedString(code)));
我做错了什么,请帮忙。
更新 上面加载脚本的代码是错误的,我修改了如下:
FlowPanel gadgetContainer = new FlowPanel();
Element script = Document.get().createScriptElement();
script.setAttribute("type", "text/javascript");
script.setAttribute("src", "http://www.gmodules.com/ig/ifr?url=http://digg.com/goog/ig.xml&up_user=&up_thumbnail=1&up_filter=0&up_num=5&up_type=popular&up_refresh=0&up_tab=0&up_offset=0&up_pagination=0&up_business=true&up_entertainment=true&up_gaming=true&up_lifestyle=true&up_offbeat=true&up_politics=true&up_science=true&up_sports=true&up_technology=true&up_world_news=true&synd=open&w=320&h=200&title=Digg&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js");
gadgetContainer.getElement().appendChild(script);
但它仍然不起作用。
答案 0 :(得分:1)
为了解决这个问题,请查看com.google.gwt.core.client.ScriptInjector
类 - 它有两种方法可以让您以跨浏览器的方式将脚本注入页面。您尝试注入脚本内容的方式无法跨浏览器工作。
专门查看您的小工具案例,我猜测您正在加载的脚本中包含代码,以防止将其加载到另一个页面中。您是否尝试使用引用该脚本标记的普通html页面?如果发生同样的事情,请查看您是否可以在脚本文件中查看页面重新分配的位置window.location
。