新页面加载后执行JavaScript

时间:2014-07-07 17:21:36

标签: javascript

我想用新网址替换当前网页网址,然后在新网址加载完成后执行一些javascript代码。现在这是我的代码。

<!DOCTYPE html>
<html>
<body onload = "myFunction()">

<h1>My Title</h1>

<script>
function myFunction() {
   window.open("http://www.example.com", "_self");   
   myFunction1();
}

function myFunction1() {
   alert(location.href);
   My Code
}
</script>
</body>
</html>

当我打开我的html文件时,首先执行alert(location.href),然后执行window.open。我希望在window.open首先执行的情况下反转,然后一旦新的url完成加载我的第二个函数就会执行。

另外哪种方式更改网址

window.location.href = "http://www.example.com";
window.open("http://www.example.com", "_self");

2 个答案:

答案 0 :(得分:0)

执行此操作的唯一方法是在新打开的页面上执行JavaScript。它是这样的,因为如果你能做到这一点,黑客可以进行JavaScript注入。

答案 1 :(得分:-1)

这是不可能的。想象一下这个安全问题:

window.open("http://some-bank-with-lots-of-money.com", "_self");
var trans = createTransaction();
trans.sendMoney({
    amount: 10000,
    to: "evilHackerGuy"
});
trans.execute();

如果您是该页面的所有者,并且您希望根据用户访问该页面的方式执行特定代码,请尝试document.referrer。你也可以检查这个服务器端;例如,在PHP中使用$_SERVER['HTTP_REFERER']