【问题标题】:GWT Hyperlink TokenStringGWT 超链接令牌字符串
【发布时间】:2010-12-28 08:26:13
【问题描述】:

我正在使用 GWT 超链接进行点击处理。我将历史标记设置为空字符串,并且我正在向超链接添加一个点击处理程序。后来我意识到,当我点击超链接时,它会在 ...# 之后更改浏览器 url。

是否可以防止 gwt 超链接更改浏览器 url?

【问题讨论】:

标签: gwt hyperlink


【解决方案1】:

如你所说,这是超链接。所以这是针对 URL 更改的,但您可以在每个页面加载后将历史标记设置为空字符串,超链接更改为 URL,但您的页面立即将其更改为“..#”。

我认为您尝试使用 clickhandler 执行此操作,也许您的 clickhandler 在 URL 更改之前运行。

在这种情况下,您将遇到帖子中描述的上一个问题; GWT History Problem

【讨论】:

  • 是的,现在我明白了,但是我正在使用 gwt 超链接作为 clickhandler,我不希望在单击它时更改 url。这可能吗!
  • 您可以为 URL 提供“#”(因此 URL 不会更改)并在 clickhandler 中完成您的工作。您可以创建新面板并替换其中的目标 URL 内容。
  • 我试过只放置'#',但这会导致127.0.0.1:8888/…
  • 您也可以尝试使用Label 和调用History.newItem() 的点击处理程序。
  • 我有一个更好的解决方案,只要当前的合成或类加载,只需获取超链接并将其设置为当前的历史标记,因为如果超链接触发的历史与当前一个,不会发生任何变化,所以 ReqHyperlink.getHistoryToken(History.getHistoryToken());
【解决方案2】:

我有我认为更好的解决方案,一旦当前的合成或类加载,只需获取超链接并将其设置为当前历史标记,因为如果超链接触发与当前相同的历史,则没有变化会这样的

ReqHyperlink.getHistoryToken(History.getToken());

由于 Token 相同,值更改处理程序不会触发任何事件

【讨论】:

    猜你喜欢
    • 2015-06-23
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多