gpt4 book ai didi

javascript - 窗口scroll()、scrollTo()、scrollBy()不适用于弹出窗口

转载 作者:行者123 更新时间:2023-11-28 08:50:46 26 4
gpt4 key购买 nike

我正在创建一个新的弹出窗口,我想将页面滚动到特定位置,我尝试了上面提到的所有三种方法,但没有一个不起作用。

这是我的代码

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

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

有什么想法吗?

最佳答案

Gokhan,我的猜测是窗口的主体是空的,产生的内容大小为零。由于内容的尺寸为 0 宽度 x 0 高度,因此窗口的视口(viewport)实际上会折叠成空——本质上将 scroll() (和 friend )减少到一个无用的状态。

我整理了一些东西来证明拥有足够的内容可以解决问题。 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>

关于javascript - 窗口scroll()、scrollTo()、scrollBy()不适用于弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19169113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com