首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在客户端按一下按钮载入html页

在客户端按一下按钮载入html页
EN

Stack Overflow用户
提问于 2014-12-26 17:41:51
回答 2查看 467关注 0票数 0

我是GWT的新手。如何通过单击按钮在客户端加载不同的静态HTML页面。已阅读并不希望进入RPC、框架、客户端包和以下页面:

在GWT应用程序中外化HTML的最佳方法?

如果客户机包是我能得到的最接近的包,我可以有一个非常简单的例子吗?假设我有4个HTML页面要加载到客户端,可以通过单击按钮来导航?

根据我的理解,这些单独的页面可能是由UIBinders创建的--如果我错了,请纠正我。

我只有下面的代码来显示另一个页面的点击,这不是我想要的工作方式。此外,它还提供了一个403错误:

代码语言:javascript
复制
button.addClickHandler (new ClickHandler(){
            @Override
            public void onClick (ClickEvent event){
                //Window.alert("Hello again");

                String winUrl = GWT.getModuleBaseURL();
                String winName = "Testing Window";

                openNewWindow (winName, winUrl);
            }
        });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-26 23:52:03

如果您不关心浏览器客户端页面的状态,则如下所示:

代码语言:javascript
复制
Window.Location.replace(newUrl);

然后,您在newUrl中指向的html页面可能加载或不加载与当前页面相同的java脚本。

如果您确实关心保持浏览器客户端页面的状态,并且只想避免在初始加载时加载静态页面(默认情况下,所有页面都一次加载),那么码分裂就是您的朋友。其原则是将显示新页面的代码包装在定义代码拆分的异步调用周围,如下所示:

代码语言:javascript
复制
GWT.runAsync(new RunAsyncCallback()
{
  @Override
  public void onFailure(Throwable reason)
  {
    Window.alert("Error in fetching the split javascript for page ...");
  }
  @Override
  public void onSuccess()
  {
    // Code to setup and show your new static page instead of the current page.
    // This code will be in a javascript file that won't be loaded at initial page load.
    // You must make sure though that the below code does not use/include common code.
    RootPanel.get().clear();
    RootPanel.get().add(newWidget);
  }
});
票数 0
EN

Stack Overflow用户

发布于 2014-12-26 22:33:05

我想这很简单:

Window.Location.assign("MenuPage.html");

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27660153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档