如何在新加载的页面(从重定向)上使用相同的JavaScript代码

如何在新加载的页面(从重定向)上使用相同的JavaScript代码,javascript,redirect,scroll,Javascript,Redirect,Scroll,我基本上是在多个网站上模拟用户体验,所以我想要一个脚本,它将重定向到一个新网站,开始滚动到底部,然后返回到原始网站。这是我的代码,它可以很好地加载页面,但不会滚动 <html> <head> <title>Benchmark</title> <script type="text/javascript"> function loadUrl(newLocation) { window.location = newLocation;

我基本上是在多个网站上模拟用户体验,所以我想要一个脚本,它将重定向到一个新网站,开始滚动到底部,然后返回到原始网站。这是我的代码,它可以很好地加载页面,但不会滚动

<html>
<head>
<title>Benchmark</title>
<script type="text/javascript">
function loadUrl(newLocation)
{
  window.location = newLocation;
  window.onload=pageScroll;
}


function pageScroll() {
        window.scrollBy(0,50); // horizontal and vertical scroll increments
        scrolldelay = setTimeout('pageScroll()',100); // scrolls every 100 milliseconds
}
</script>
</head>
<body>
<a href="javascript:void" onclick="loadUrl('anysite.com'); return false;">link-1</a>
</body>
</html>

基准
函数loadUrl(newLocation)
{
window.location=newLocation;
window.onload=页面滚动;
}
函数pageScroll(){
scrollBy(0,50);//水平和垂直滚动增量
scrolldelay=setTimeout('pageScroll()',100);//每100毫秒滚动一次
}

我还没有回到重定向页面,但这并不重要。谢谢

有许多问题会阻止此操作:

  • 当您将窗口位置设置为一个新的URL(不管它是否在外部)时,当前页面上的JavaScript将停止执行。它将无法访问新页面,因为它已被完全替换(已卸载)。所以,这意味着你的“window.onload”代码永远不会被调用。新页面现在处于活动状态
  • 如果您尝试了iframe方法并将外部页面加载到iframe中,那么这也不会起作用,因为如果网站来自不同的域,则代码无法访问内部网页(以及scrollBy函数)。您可以阅读以了解有关此安全功能的更多信息。如果您的外部页面来自web服务器:www.example.com,而内部内容来自www.microsoft.com,则www.example.com中的脚本(以及您的滚动代码)将无法滚动文档
    有许多免费提供的脚本/自动化工具可以提供更好、100%可靠的用户模拟。一个例子是来自。您可能希望查看这些内容,具体取决于您试图完成的任务。

    您是控制这两个页面还是尝试使用外部域?外部域,对不起,我应该指定。如果您对外部域有影响,您可能会看到他们是否有一个Javascript API,您可以传递一个GET变量,然后他们可以触发滚动。但是,根据您的问题,在更改页面时不可能保持相同的javascript过程。非常感谢您的全面回复!