我想用新网址替换当前网页网址,然后在新网址加载完成后执行一些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");
答案 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']
。