【问题标题】:URL without hash (#) in GWTGWT 中没有哈希 (#) 的 URL
【发布时间】:2014-09-08 09:50:01
【问题描述】:

在 GWT 中,我需要在 URL 中使用 #,以便从一个页面导航到另一个页面,例如。 www.abc.com/#questions/10245857 但因此我在共享网址时遇到问题。 Google 抓取工具仅在 # 之前读取网址,即 www.abc.com。

现在我想从我的网址中删除 # 并希望将其保持为 www.abc.com/question/10245857。

我无法这样做。请帮助我提供一些链接或代码。 谢谢你

【问题讨论】:

    标签: java gwt url-rewriting


    【解决方案1】:

    # 表示应用程序内部的位置,因此要更改 URL,请尝试创建不同的 GWT 入口点模块可以解决此问题 - 这次只有一个 Web 应用程序,但每个模块都可以通过不同的 URL 访问。看这篇文章http://www.summa-tech.com/blog/2011/02/22/structuring-gwt-modules-for-large-applications/

    【讨论】:

      【解决方案2】:

      如果你想要不使用 hash 的 URL,那么你必须使用 HTML5 pushState (browser compatibility)。

      如果您直接使用History 类,则不能这样做;您必须创建自己的使用 pushState 的 History 类,并在代码中使用该类而不是 GWT 内置类。

      如果您使用 Places,那么它会容易得多,因为您所要做的就是实现 Historian 而不是使用 DefaultHistorian;例如https://gist.github.com/tbroyer/1883821

      如果您需要支持没有pushState 的浏览器,那么事情会变得更加复杂。

      还有其他选择:

      【讨论】:

        猜你喜欢
        • 2017-05-30
        • 2017-06-30
        • 1970-01-01
        • 2013-01-19
        • 2018-09-14
        • 2015-06-18
        • 2010-11-17
        • 2011-06-08
        • 2012-01-18
        相关资源
        最近更新 更多