2013-01-04 22 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