2013-01-21 33 views
5

我正在用文本視圖創建基於瀏覽器的桌面應用程序。文本視圖可能包含長水平線。在Chrome中,在軌跡板上左滑動有時會激活history.back操作,有時會激活左滾動操作。這對我們的用戶來說有點令人討厭。如何禁用Google Chrome中的歷史刷卡操作?

如何禁用歷史刷卡操作,以便刷卡只能滾動?

請注意,我已經提供了一個自定義pushstate事件處理程序。而且,歷史上前進/後退在應用程序中具有合適的含義,所以我不能僅禁用歷史記錄。

+0

我真的沒有看到你可以的方式。希望有一種方法,但是,因爲我可以看到這是一個問題 –

+0

謝謝。我也遇到過這樣的討論:http://productforums.google.com/forum/#!category-topic/chrome/discuss-chrome/PaMriZC-Kuo所以,這似乎是一個問題,而不僅僅是特定的Web應用程序。 –

回答

5

從我所看到的,沒有官方認可的方式來解決這個問題。切換滑動手勢在系統級調節,而不是在瀏覽器中調節,因此禁用它們的唯一方法是在系統首選項中手動執行此操作(在系統偏好設置 - >觸控板 - >更多手勢中關閉「在頁面之間滑動」) 。

但是,在搜索了一段時間後,我偶然發現了一個使用JQuery的mousewheel.js覆蓋設置的黑客。

This plugin by Pablo Villalba of Teambox是我在搜索實現此類覆蓋的插件時發現的第一個實現。希望這可以幫助。

+0

太棒了。期待嘗試這一點。 –

+1

我試過了。它按照你的描述工作,所以謝謝。然而,我不知道我是否會使用這個特定的jquery插件,因爲它需要將幾個其他庫安裝到我的應用程序中,我不想要。這就是說,這個插件顯示了一個解決方法,我可以用它來創建我自己的版本。 –

+0

此處最後更新。由於我不想將jquery引入此項目,因此我做了一個更簡單的解決方法。我捕獲mouseWheel事件並在mac-chrome中調用e.preventDefault()。我們已經處理了自定義滾動,因此防止默認行爲似乎沒有任何不利影響。 –

-1

在Mac上,我禁用了系統偏好設置下頁面之間的滑動。 Swipe Between Pages

+0

這不是相同的功能。你所做的是禁用應用程序之間的切換。我正在尋找禁用鉻上的歷史記錄導航。 –

+0

即使在根級別設置,它也可以在chrome上運行。我已經突出顯示了正確的一行「在頁面之間滑動」=>用兩根手指向左或向右滾動。 – SourabhV

+0

謝謝,但這仍然不是我想要的。我需要一種方法來爲我的web應用程序的用戶自動禁用此功能,並且只需要該應用程序。我不能要求用戶在系統偏好設置中關閉此功能,只要他們想要使用我的應用程序。 –