TIP
限制所有人使用并重定向至原网址
html
<script type="text/javascript">
if (window!=top) // 判断当前的window对象是否是top对象 top.location.href = window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址
</script>
使用该代码后所有人只要把你的网页嵌入框架,就会重定向到你的网页网址
只允许自己使用的域名嵌入
javascript
try {
top.location.hostname
} catch (e) {
top.location.href = window.location.href
}
在 IE 和火狐等浏览器上 top.location.hostname 会报错,这种错误叫做"没有权限"。进一步说,浏览器甚至不允许你查看 top.location.hostname,跨域情况下,一看到这个对象,就直接报错。
所以以上代码判断如果存在跨域报错,即表示嵌入网页域名不是属于自己的,于是重定向至原网页
存在一个特殊情况是在跨域情况下,Chrome 对 top.location.hostname 不报错!
javascript
try {
top.location.hostname
if (top.location.hostname != window.location.hostname) {
top.location.href = window.location.href
}
} catch (e) {
top.location.href = window.location.href
}
以上是完善 Chrome 存在特殊情况的代码。使用以上代码其他域名一律无法将你的网页嵌入框架