簡體   English   中英

窗口scroll(),scrollTo(),scrollBy()在彈出窗口上不起作用

[英]Window scroll(), scrollTo(), scrollBy() not working on popup window

我正在創建一個新的彈出窗口,我想將頁面滾動到特定位置,我嘗試了上面提到的所有三種方法,但是它們都不起作用。

這是我的代碼

var w = window.open('','TEST','width='+divWidth+',height='+divHeight+'');

w.onload = function() {
    w.scroll(200,300);
};

任何想法?

Gokhan,我的猜測是窗口的主體是空的,內容大小為零。 由於內容的尺寸是0寬度乘以0高度,因此窗口的視口實際上不會塌陷-本質上是將scroll() (和朋友)減少到了noop。

我整理了一些小提琴,以證明擁有足夠的內容可以解決問題。 http://jsfiddle.net/blangenfeld/SXnA8/3/

更新的答案

好的,現在我知道您正在使用同源網頁中的內容創建彈出窗口。 嘗試為彈出窗口定義onload並在此處進行滾動。

<html>
    <head>
        <style type="text/css">
            /* Just ensuring the size of the content for demo purposes */
            body { min-width: 500px; min-height: 500px;}
        </style>
        <script type="text/javascript">
            function showPopUp(url) {
                popUp = window.open(url, "_blank", "width=300, height=300");
                /* This works if the URL doesn't violate same-origin policy */
                popUp.onload = function() {
                    this.scrollTo(100, 100);
                }
            };
        </script>
    </head>
    <body>
        <h1>Pop-up test</h1>

        <a href="#" target="_blank" onclick="showPopUp('popup.html');">
            Click for a same-domain pop-up
        </a>
        &nbsp;|&nbsp;
        <a href="#" target="_blank" onclick="showPopUp('http://www.google.com');">
            Click for a google.com pop-up
        </a>
    </body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM