# 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协议

最后更新: 4/11/2025, 1:05:50 PM