HTML阻止iframe跳转页面并使用iframe在页面内嵌微信网页版详解


本文摘自PHP中文网,作者小云云,侵删。

winform结合html5能实现什么功能?突有心血来潮,想在里面嵌套一个微信网页版,下面小编给大家介绍下HTML阻止iframe跳转页面并使用iframe在页面内嵌微信网页版的实现方法,一起看看吧,希望能帮助到大家。

就想弄一个winform结合html5的一个小东西,突有兴致,想在里面嵌套一个微信网页版。

好了,想法一出来,就行动吧,最终效果如下图:

一开始就打算在页面里面嵌套一个iframe指向https://wx.qq.com就OK了,但是我还是太天真,微信网页版会自动跳转。结果如下图:

于是上网搜了一下阻止iframe跳转的办法,就是在iframe标签加上security="restricted"sandbox="" 两个属性。前者是IE的禁止js的功能,后者是HTML5的功能。

使用sandbox="allow-scripts allow-same-origin allow-popups"可以阻止跳转。然而......结果却是这样:

然后发现,这个跳转其实就是关闭原先页面之后在浏览到跳转页面。所以可以利用页面关闭事件onbeforeunload来阻止跳转。所以在页面加入如下代码:

1

2

3

4

5

6

7

8

document.body.onbeforeunload = function (event) {

            var rel = "asdfawfewf";

            if (!window.event) {

               event.returnValue = rel;

           } else {

               window.event.returnValue = rel;

            }

        };

然后发现结果还是这样:

到底是什么原因呢?事件没反应?还是微信网页版的跳转太牛了?直接无视这个事件?于是我新建一个空白的html,单独加上该事件进行验证。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<!DOCTYPE html>

  <html lang="en" xmlns="http://www.w3.org/1999/xhtml">

  <head>

      <meta charset="utf-8" />

      <title></title>

  </head>

  <body></body>

  <script>

document.body.onbeforeunload = function (event) {

    var rel = "asdfawfewf";

     if (!window.event) {

         event.returnValue = rel;

     } else {

         window.event.returnValue = rel;

     }

 };

 </script>

 </html>

结果却是可行的:

阅读剩余部分

相关阅读 >>

html的<basefont> 标签

html怎么使文本框不可编辑

html blockquote标签怎么用

css怎么嵌入到html中?

html optgroup标签是什么意思?关于html optgroup标签的用法和属性实例解析

html之交互

html超链接字体颜色怎么改?超链接字体颜色的更改方法总结

什么是语义化的html

html中引入外部页面的方法

html页面原生video标签隐藏下载按钮功能

更多相关阅读请进入《iframe》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...