2013-01-04 25 views
0

我在为HTML插件内部的内部链接添加锚标签时遇到Chrome问题。这听起来可能并不重要,但对于我自己和许多用户来说这非常烦人。GWT Chrome插件中的锚问题

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

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

有人知道为什么会发生这种情况,或者有任何想法来解决这个问题吗?这是我无法使用Widgets的情况,所以我需要手动创建标记HTML。我不是GWT专家,但我不明白编译代码如何处理超链接和锚点小部件的方式与HTML小部件中的不同。任何煽动这可能会有所帮助。

我很想知道是否有其他人可以重现这一点。我正在运行Chrome 23.0.1271.97和GWT-2.5.0。我知道这发生在老版本的Chrome和GWT中,因为这是一段时间以来的问题,至少从GWT-2.4开始。

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

+0

FYI:'Hyperlink'监听点击事件,检测是否是“正常点击的”与否(浏览器/ platform-dependent),如果是这种情况,请调用'History.setItem()'和'preventDefault()'单击事件(否则不会做任何事情让浏览器处理链接并在新标签页/窗口中打开它) 。 –

+0

您是否在链接中使用#hashtags? 请提供一个有关anchor html的示例。 – Ajax

+0

是的,我将哈希标签添加到开始。这里的HTML:Asset-124 Zip184

回答

2

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

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

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

+0

是的,你是对的,但不知何故,GWT通过它的超链接和锚点部件来解决它。 – Zip184