【问题标题】:GWT Chrome issue with anchors inside HTML widgetsGWT Chrome 问题与 HTML 小部件内的锚点有关
【发布时间】:2013-01-04 15:18:07
【问题描述】:

在为 HTML 小部件内的内部链接添加锚标记时,我遇到了仅 Chrome 的问题。这听起来可能并不重要,但对我自己和许多用户来说都很烦人。

加载页面时,如果第一次单击中键或按住 Ctrl 键单击链接,它们只会在新选项卡/窗口中正常打开,但第二次它们的行为就像左键单击一样使用相同的选项卡/窗口。由于某种原因,当我使用 Hyperlink 或 Anchor 小部件时,不会发生此问题。这在 Firefox 或 IE8 中也不是问题。

我已经验证了超链接的最终 HTML 和我的手动脚本标记完全相同。为此,我将相同的样式应用于 HTML 小部件。我什至尝试创建一个超链接并调用 toString() 来生成 HTML,但错误仍然存​​在。

有人知道为什么会发生这种情况,或者有任何解决方法的想法吗?这是我无法使用小部件的情况,因此我需要手动创建标签 HTML。我不是 GWT 专家,但我不明白编译后的代码如何处理超链接和锚定小部件与 HTML 小部件内部的不同。对此的任何煽动都会有所帮助。

我很想知道其他人是否也可以复制此内容。我正在运行 Chrome 23.0.1271.97 和 GWT-2.5.0。我知道这发生在旧版本的 Chrome 和 GWT 中,因为它一直是一个问题,至少从 GWT-2.4 开始。

无趣的细微差别: 如果同一个 HTML 中有两个不同的链接,它们的 bug 将独立发生。这意味着您可以中键单击每一个,它们都将正常工作,而不是第二次。刷新页面也会重置它们,因此下次中键单击时不会发生错误。我还发现,如果 HTML 小部件中包含两次相同的链接,它们实际上不会独立工作。这意味着中键单击一个会导致另一个错误地处理它的第一次中键。

【问题讨论】:

  • 仅供参考:Hyperlink 侦听点击事件,检测它是否“正常点击”(取决于浏览器/平台),如果是这种情况,请致电 History.setItem()preventDefault()点击事件(否则不会让浏览器处理链接并在新选项卡/窗口中打开它)。
  • 您是否在链接中使用了#hashtags?请提供一个有问题的锚 html 示例。
  • 是的,我将哈希标签添加到开头。这是 HTML:Asset-124

标签: html google-chrome gwt


【解决方案1】:

刚刚完成调试。这不是 GWT 问题,而是 Chrome 问题。

我创建了一个错误报告:http://code.google.com/p/chromium/issues/detail?id=177502

您可以使用这个简单的 HTML 页面进行复制:<!DOCTYPE html> <a href="#local">LOCAL</a>

【讨论】:

  • 是的,你是对的,但不知何故 GWT 用它的 Hyperlink 和 Anchor 小部件绕过了它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-15
  • 1970-01-01
  • 2010-12-21
  • 1970-01-01
相关资源
最近更新 更多