2011-02-26 28 views
11

我正在處理一個應用程序時遇到了一個奇怪的問題......只要用戶突出顯示已翻譯過的頁面上的文本,瀏覽器就會立即開始向上滾動。這是真的很難形容所以我做了展示的問題的示例頁面...如何在選擇文本時停止瀏覽器滾動?潛在的瀏覽器錯誤?

http://riskable.com/files/scroll_problem.html

我也上傳到引擎收錄,方便瀏覽文本(如果我以往任何時候都採取這一網址下來以後):

http://pastebin.com/ay6LUcfP

如果您 - 由JavaScript的方式 - 翻譯()都DIV1和DIV2回默認位置的問題沒有表現出自身內部DIV1。它只發生在div2內部,並且只發生在用戶面前(例如,它已經被「translate()」轉換)。

我真的認爲這可能是一個瀏覽器錯誤,但我不確定,因爲我不是ECMAScript或DOM專家。有任何想法嗎?

編輯:我已更新HTML在Firefox 4+和Opera 11+(分別爲-moz-transform和-o-transform)中工作。我還爲更新後的腳本創建了一個新的pastebin鏈接(鏈接已更新)。這個問題似乎並沒有在這些瀏覽器中出現,所以它看起來肯定是一個Chrome的bug。

編輯2:我已經打開了在Chromium網站這個問題的bug報告:http://code.google.com/p/chromium/issues/detail?id=74318

這可能是在Webkit的一個錯誤,但我會讓鉻人們發現,如果是這樣的話。

+9

我不在乎別人說什麼。這很搞笑。 對不起,希望我能幫到你。 – zdyn 2011-02-26 03:38:26

+4

哇!這很奇怪。 FWIW:我在Chrome和Apple Safari中看到它。 Firefox和IE8沒有這樣做。 – 2011-02-26 03:39:08

+0

我無法在Fx 4.0b12中重現此記錄。 – 2011-02-26 04:16:12

回答

1

FWIW,Ithe問題似乎是瀏覽器的代碼負責檢測您何時選擇預先界限(即,何時應該滾動以選擇該選擇)在翻譯後沒有得到更新的位置。當你開始選擇時,它會看到你正在選擇,並且你的光標比它預先設置的位置高一半,所以它滾動得非常快。相反,爲了讓它向下滾動,您需要在選擇時轉到容器的底部,在翻譯()之前,您的前底部位置。

這就是說,我顯然不知道如何解決它,但我幾乎肯定它是一個瀏覽器錯誤。