# iframe
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body>
<div>ifreame</div>
<div>iframe</div>
</body>
</html>
<script type="text/javascript">
if(window===top){
//window.top==window.self
console.log(1)
}else{
console.log(2)
top.location.href =location
}
</script>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body> 11111111111111
<iframe src="index3.html" width="" height=""></iframe>
111111111111111111
</body>
</html>
TIP
防止被人恶意盗用网页地址,可以加上这段js
WARNING
<iframe> 上触发的 error 和 load 事件常用于检测本地网络中 HTTP 服务器的 URL。因此,作为保护措施,浏览器不会触发 <iframe> 上的 error 事件,而 load 事件总是被触发,即使 <iframe> 的内容加载失败。
# window.top
返回窗口层级最顶层窗口的引用。
- window.parent 返回当前窗口的直接父对象;
- window.top 返回最顶层的窗口对象;
- window.self 属性返回指向当前 window 对象的引用,利用这个属性,可以保证在多个窗口被打开的情况下,正确调用当前窗口内的函数或属性而不会发生混乱。
window、self、window.self 是等价的
# iframe嵌入http
在一个https的工程中,嵌入了http的网站,会被系统默认阻止访问,需要利用nginx代理或者改造http协议