2016-09-16 116 views
15

首先,我很抱歉我沒有minimal, verifiable測試用例。我遇到的問題發生在Safari上,但我沒有擁有任何Apple產品。Safari瀏覽器重新導航後禁用滾動功能9.1.2

this website上,有一個錯誤,用戶在導航返回後無法再滾動頁面。您可以按照鏈接,單擊其中一個按鈕,返回(通過滑動,單擊按鈕或使用快捷方式),然後使用觸控板或鼠標滾輪不能再滾動頁面。我基本上無能爲力,可能會造成這種情況。

所報告的這一用戶使用的是Safari瀏覽器9.1.2

+0

只是爲了確認:我可以用Safari 9.1.2在我的rMBP 15「(2015年中,OS X 10.11.6)上重現這個問題,我花了將近一個小時的時間,但找不到任何導致此問題的原因。 – BlueCola

+0

(無法測試,因爲我沒有Safari 9.1.2。)。在瀏覽器後,CSS主體屬性是否在檢查器中更改? 在stylesheet.css中有'body {overflow-x:hidden;}' on(line 38)。它有助於刪除這個(或任何其他物體屬性)嗎?它可能是一個在Safari 9.1.3中已被糾正的錯誤。我無法在Safari 9.0.x中重現這個 –

+0

我不能從Safari 6-9重現問題 –

回答

2

簡而言之:

我相信答案是:沒有什麼不對您的網站的代碼。


事實上,我相信這是與硬件相關,這就是爲什麼很多人都無法重現這個問題,它不僅影響一些用戶。

我已經使用我的Mac和Browserstack測試了Lion/Safari 6到El Capitan/Safari 9的每個操作系統上的網站,帶有觸控板和魔術鼠標。

在每種情況下,該網站都能正常運行。

正如你所說,軌道墊受到影響,我想補充一點,任何2指掃可能是確切的原因和1個手指輕掃不是。

而我之所以說這是硬件相關:因爲蘋果用戶運行論壇都在抱怨同樣的問題,並表示一個PRAM復位就是糾正問題

Swipes and scrolling stop working in Safari

越來越多的用戶在蘋果論壇上表達他們的投訴。

Apple users place the blame on everything from OS upgrades to system bugs and failing hardware .


中底:有一件事是肯定的。我還沒有看到一位用戶聲稱這是網站編碼的結果。

+1

感謝您的測試並感謝您的信息! –

+1

我的榮幸!我們都從你的問題中獲得了知識 - 乾杯 –

1

我無法測試它,因爲我沒有帶任何OSX但在開發任何網站時,我從來沒有過這個問題。儘量不要依靠身體的溢出規格,讓它自動。 如果某些東西在X-line中溢出,那麼你的東西就是壞結構或壞樣式(如果談論響應式web開發)。 如果Y行中有東西溢出,那麼即使您沒有在body的樣式中聲明它,它仍然可以滾動。

然後你聲明框大小:border-box;和位置:相對;到所有元素(*,*:之後,*:之前)。刪除它也不需要重新聲明這些屬性,並且在處理不同的元素時可能會導致問題。 認爲html元素具有默認屬性,好習慣是學習和理解它,不要改變它,因爲你想瘋狂...

最後,如果你檢查控制檯,你會發現一些jQuery錯誤,可能導致在頁面加載時鎖定一些CSS類或問題。

1- Delete body's overflow declarations. 

2- Delete * stylings (* styles must be used only to homogenize text, as font family and font width, or other few generic non-structure modificable things) 

3- repair JQuery errors. 

希望它有幫助,乾杯!

+0

我一直誤解爲什麼你需要溢出隱藏。溢出的文檔說(溢出被剪切,其餘的內容將被隱藏)並且經驗表明它可能會導致內容不可滾動。如果需要溢出自動帶來滾動條,溢出滾動使滾動條出現,有時即使不需要。 它很好,如果你長時間使用它,但它是錯誤的。無論如何,如果你開始使用bootstrap而不是自己做,它可能會很好。 試着做點1和2,讓我們看看會發生什麼。 – JoelBonetR

+0

所以,如果你不想嘗試一些可能的修復工作到你的網站,你爲什麼問這裏?正如你所說,你正在瘋狂地改變全球結構的默認值,你這樣做會讓我覺得你不是前端開發專家。如果您瞭解元素呈現的方式以及爲什麼他們具有這些默認屬性,則沒有理由像您那樣覆蓋。正如你所說的,就像你想用記事本寫諾貝爾文,但試圖強制不同的字體樣式和顏色。當你想要看這個,評論正文和*樣式並回復這個答案。 – JoelBonetR

+0

哦,...修改不透明度不會改變z-index。是的,這是一種語言(不是真正的編程語言),你不能做某些事情。這就是使用js而不是css來執行某些特定作業的原因。我從我8年的前端開發和全棧開發經驗談起。至少你可以在你最後加載的CSS的底部添加這個:@media(max-width:991px;){body {overflow:visible;}}然後,如果有什麼讓你的網站不能響應,你得到滾動在x行中,您的結構中存在錯誤。它被稱爲調試或測試,測試,不要懶惰! – JoelBonetR