问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

html5如何实现跨域自适应

发布网友 发布时间:2022-04-19 23:12

我来回答

3个回答

懂视网 时间:2022-04-20 03:33

本篇文章给大家带来的内容是关于html5新机制:postMessage实现安全跨域通信(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果图

161113223-5b762e6f55e2d_articlex.gif

postmessage解析

  • HTML5提供了新型机制PostMessage实现安全的跨源通信. 语法
    otherWindow.postMessage(message, targetOrigin, [transfer]);
    otherWindow: 其他窗口的一个引用, 比如IFRAME的contentWindow属性, 执行,
    window.open返回的窗口对象. message: 将要发送到其他窗口的数据. targetOrigin:
    通过窗口的origin属性来指定哪些窗口能接收到消息事件, 其值可以是字符”*”(表示无限制)或者一个URL transfer:
    是一串和message同时传递的Transferable对象. 这些对象的所有权将被转移给消息的接收方, 而发送一放将不再保有所有权.

  • element.addEventListener(event,fn,useCaption ); 三个参数 event 事件 比如
    click mouseenter mouseleave 回调函数 useCaption
    用于描述是冒泡还是捕获。默认值是false,即冒泡传递。 当值为true,就是捕获传递。

  • 实现方式

    主界面 main.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>跨域数据访问</title>
     <script type="text/javascript">
      window.addEventListener('message',function(e){
      console.log("e--->",e);
      const data = e.data;
      document.getElementById('main1').style.backgroundColor=e.data;
      },false)
    
     </script>
    </head>
    <body>
     <p id="main1" style="width:200px;height:200px;margin:100px;border:solid 1px #000;">
     我是主界面,等待接收iframe的传递
     </p>
     <p style="margin:100px;">
     iframe
     <iframe src="http://localhost:3000/iframe.html" width="800px" height="300px" ></iframe>
     </p>
    </body>
    </html>

    iframe界面

    <!DOCTYPE html>
    <html lang="en">
    <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>Document</title>
     <style type="text/css">
      html,body{
      height:100%;
      margin:0px;
      }
     </style>
    </head>
     <body style="height:100%;">
     <p id="frame" style="height:200px; width:200px;background-color:rgb(204, 204, 0)" onclick="changeColor()">
      点击改变颜色
     </p>
     <script type="text/javascript">
      function changeColor(){
      var frame = document.getElementById('frame');
      var color=frame.style.backgroundColor;
      if(color=='rgb(204, 102, 0)'){
       color='rgb(204, 204, 0)';
      }else{
       color='rgb(204,102,0)';
      }
      console.log("frame===>",frame);
      console.log("color",color);
      frame.style.backgroundColor=color;
      window.parent.postMessage(color,'*');
      }
     </script>
     </body>
    </html>

    热心网友 时间:2022-04-20 00:41

    父域自适应子域么?
    假设自适应高度
    子域定义postMessage事件
    var height = document.body.offsetHeight;
    window.parent.postMessage(height, '*');
    父域监听
    window.addEventListener("message", function() {
    var height = message.data; //子域的height

    //and so on....可以做自己想做的事情了

    }, false);

    希望可以帮到你

    热心网友 时间:2022-04-20 01:59

    网页手机wap2.0网页的head里加入下面这条元标签,在iPhone的浏览器中页面将以原始大小显示,并不允许缩放。
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">

    width - viewport的宽度 height - viewport的高度
    initial-scale - 初始的缩放比例
    minimum-scale - 允许用户缩放到的最小比例
    maximum-scale - 允许用户缩放到的最大比例
    user-scalable - 用户是否可以手动缩放
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    按现行会计制度的规定,短期借款所发生的利息,一般应记入( )科目。 省钱输送机 江西同步带欧规皮带滚轮模组规格 请问91年3月12日是什么星座拜托各位大神 1991年3月11的双鱼座怎样拜托了各位 谢谢 ...年11月3号。这两个时间出生的人各是什么塔罗牌?拜托各位大神... 孤岛惊魂4怎么不显示dlc 微信百万保障诈骗是怎么回事 秋季大棚里应候种植什么蔬菜最适合 上海音乐学院钢琴十级通过率 怎样预防干旱? 超声成像、x线成像、磁共振和ect的优缺点 放弃财产继承声明不存在怎么写 磁共振和彩超的功能都一样吗? 放弃财产继承权声明书该如何书写 放弃财产继承权声明书该怎么写 windows10这个系统目前那些牌子电脑有配置呢,价格如何,windows9呢 放弃继承财产声明书怎么写 有哪个大佬知道sketch怎么制作时间滚动器啊?哪个文字我变形不了,不能作出跟图片那样的文字效果 谁能告诉我卡车上 的滚杆是什么东西?有图片最好 html 我插入背景图片不显示滚动条 求变身!偶像公主的图片,壁纸,头像最好都是笹原名月和辉夜姬的,谢谢了。还有捣乱的给我滚。 为什么我用qq给别人发信息他们说我发图片啊 怎么解决啊 骗分的滚啊 华为mate10Pro怎么允许程序获取IMEI? 男友对你说,给老子滚蛋,你会原谅他吗?还会给他继续下去吗? 如何以「玩够了就从老子身上滚下去」开头写一篇追夫火葬场的文? 黄子韬:有多远给我滚多远,黄子韬为何会突然勃然大怒? 我和男朋友开玩笑拍个上厕所的照片给他看,他凶巴巴的说你给老子滚,,脾气比以前爆很多很多 谁能给我提供世界上最恐怖、最狰狞、最异类、又有毒的昆虫,最好有图片或者视频,我高分悬赏,玩闹的滚爬 金馆长搞笑图片带你给我滚字 如何预防干旱? 胆结石需要做核磁共振水成像和磁共振平扫吗? 放弃财产继承权办理要什么材料 如何提高全民在灾害面前的自救能力? 要预防和减少自然灾害的频发从国家角度讲应该怎么做。 要一篇关于&quot;自我保护&quot;的作文 植物用什么方式自我保护? 鲁滨逊漂流记每个章节的概括400字左右 工业烘干机的日常维护和保养方法是什么? 找几条能让闺蜜感动到哭的留言 18乘以9分之7怎么算成14 想给闺蜜留一个感动到哭的留言? 分数乘以整数练习题50道 怎样发一个让闺蜜感动到哭的留言 一位数整数乘分数的计算题简单点儿的, 20道分数乘整数的题 感动到哭的闺蜜留言+99 100道整数和分数乘除法计算题。急求!~ 电压力锅怎么选择 传奇行会叫什么名字好