window.open 载入过程是异步的,怎么加载新页面的js
时间: 2023-05-08 20:59:06 浏览: 556
在使用window.open打开新页面时,新页面的载入过程是异步的,意味着我们需要等待页面完全加载完成后再向其动态添加JavaScript代码。
我们可以通过以下三种方式来加载页面的JavaScript代码:
1. 在新页面中直接添加JavaScript
我们可以将新页面的JavaScript代码直接编写在HTML文件中,即在<head>标签中添加<script>标签来引入JavaScript文件。这样,当新页面被打开时,JavaScript代码也会被加载并立即执行。
2. 在新页面URL中添加参数
可以在新页面的URL中添加参数,传递JavaScript代码的字符串。例如,我们可以在window.open()函数中使用以下语法:
window.open('mypage.html?jscode=alert("hello")');
在新页面上,我们可以使用以下代码来解析该参数并执行JavaScript代码:
var jscode = window.location.search.substr(1).split('=')[1];
eval(decodeURIComponent(jscode));
使用此方法可以将JavaScript代码作为参数传递给新页面并立即执行。
3. 使用window.onload事件
如果想要向新页面添加JavaScript代码而不是在页面加载过程中执行,可以使用window.onload事件。我们可以在新页面中添加以下代码:
window.onload = function() {
// 在此处添加JavaScript代码
}
当页面完全加载后,window.onload事件将被触发并执行其中的JavaScript代码。
总之,我们可以通过这些方法,将JavaScript代码加入载入的新页面。如果想在新页面加载完毕后运行JavaScript代码,则需要等待页面完全加载后,使用第二种或第三种方法来添加JavaScript代码。
阅读全文