2015-10-05 52 views
4

我注意到,當我在iPhone或iPad上打開我的網站並轉到文章頁面時,瀏覽器檢測到文章開頭,忽略標題並滾動到文章內容,所以用戶沒有機會看到我的網站標題和我的標題上方的廣告。我如何禁用Safari的行爲或至少欺騙它,使其停留在我的頁面頂部?Safari瀏覽器跳過網站標題並轉到內容

+1

請你能提供一個可重現的問題的例子。 –

+0

@HiddenHobbes當然,如果你訪問這篇文章,例如:http://www.alt.dk/mit-liv/samfund/derfor-er-modne-kvinder-blevet-sa-hotte/ 使用iPhone或iPad和你將等待直到它加載,你會看到它然後滾動到一個圖像,留下一個橫幅和一個網站菜單後面。 – krajol

+0

這不僅僅是Safari,它也發生在Chrome手機瀏覽器上。 – QuestionMarks

回答

2

我終於找到了它的原因是什麼!但是,謝謝你們的幫助和提示。

所以問題是,在Apple瀏覽器/設備上有一個事件'popstate'在頁面加載時觸發。這不會發生在Windows Chrome瀏覽器,IE瀏覽器,Firefox等。而滾動我的原因是我使用歷史記錄,當我向下滾動到另一篇文章時,我更改了網站的網址。然後,當用戶點擊瀏覽器中的後退按鈕時,會激發「popstate」事件,並在該事件中滾動到上一篇文章的開頭。因此,由於在Apple連接的瀏覽器中,頁面加載時會出現額外的popstate事件,因此它會立即將我滾動到第一篇文章。這裏有一個防止這種行爲的黑客:

window.addEventListener('load', function() { 
    setTimeout(function() { 
     window.addEventListener('popstate', popStateHandler, false); 
    }, 0); 
}, false);