當我使用window.open()打開新窗口時,如何保持父頁面的滾動位置?父頁面返回到頁面的頂部。在JavaScript中維護滾動位置window.open()
這裏是我當前的代碼:
<a href="#" onclick="javascript: window.open('myPage.aspx');">
Open New Window
</a>
當我使用window.open()打開新窗口時,如何保持父頁面的滾動位置?父頁面返回到頁面的頂部。在JavaScript中維護滾動位置window.open()
這裏是我當前的代碼:
<a href="#" onclick="javascript: window.open('myPage.aspx');">
Open New Window
</a>
<a href="#" onclick="window.open('myPage.aspx');return false;">Open New Window</a>
javascript:
在事件屬性是不需要的。<a href="#">Scroll to top</a>
。我認爲問題是,你的鏈接指向一個空#(href="#"
),該瀏覽器會解釋爲是指「在頁面頂部」。
嘗試從您的定位標記中移除href屬性。 onclick屬性應該足以滿足您的需求。
<a href="javascript:void()" onclick="window.open('myPage.aspx');">Open New Window</a>
應該這樣做。正如其他人所提到的那樣,#正試圖去找一個不存在的錨點,這會導致瀏覽器滾動到頂部。您不想刪除href屬性,因爲某些瀏覽器不會將不帶href屬性的標籤視爲樣式目的的鏈接,並且您必須定義其他CSS規則才能使鏈接看起來像您網站上的其他鏈接。
此外,爲什麼有一個href屬性,然後嘗試通過總是從您的處理程序返回false來阻止該事件。在我看來,這種方式比這裏提出的其他方法更清潔。
這是很好的保持頁面對於那些不具備的JavaScript,或者訪問其禁用:
<a href="myPage.aspx" target="_blank" onclick="window.open('myPage.aspx');return false;">Open New Window</a>
目標=「_空白」,是在一個新窗口(或標籤)來打開。如果客戶端沒有JS,那麼它仍然會打開頁面,而不是在JS調用的窗口中。