`
yunfubaoyang
  • 浏览: 3958 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

IE的iframe变量传递BUG

阅读更多
根据浏览器的同源策略,iframe的内容与父窗口同域(默认情况也同域)时,它们的内容就允许互相通信。我们可以从iframe上取到其window对象来做进一步操作,但是此处在IE中存在BUG。IE中的iframe中无法从window对象获取到在父窗口直接对其设置的属性。
  这个问题貌似(因为只测试到IE10)存在所有IE版本中。
  1. <iframe id="iframe"></iframe>
  2. <script>
  3. //获取iframe关联的window对象
  4. var w=document.getElementById("iframe").contentWindow;
  5. //对iframe关联的window设置test属性
  6. w.test="次碳酸钴";
  7. //对iframe关联的window添加程序,程序中输出window的test属性
  8. w.document.write("<script>alert(window.test)<\/script>");
  9. </script>

 
  Chrome和Firefox中都可以从iframe中访问到在父窗给它设置的属性,但是IE中就访问不了。这个设计非常不合理,虽然W3C对此无定义,但是以我的逻辑来看这就是IE的BUG。
本文版权归属:宁波广告公司http://www.lihe-ad.com/  转载请注明,肆意删除链接,我们将保留追责权利
分享到:
评论

相关推荐

    iframe消息监听传递

    `iframe`跨域消息传递是解决这个问题的关键技术,它允许不同源的`iframe`和主页面之间安全地交换数据。 标题"iframe消息监听传递"主要涉及到两个核心概念:`postMessage`和`message`事件。这两个API是HTML5引入的,...

    JavaScript实现IFrame子窗口调用父窗口的全局变量

    JavaScript实现IFrame子窗口调用父窗口的全局变量

    Iframe获取父页面的变量和控件

    本文将深入探讨如何通过 `Iframe` 获取父页面的变量和控件。 首先,我们要理解 `Iframe` 的基本概念。`Iframe` 是一个内联框架,它允许我们在一个HTML文档中嵌入另一个HTML文档,相当于在当前页面中打开一个新的...

    [导入]Javascript获取IFrame内容(兼容IE&FF)

    在Iframe内部和外部页面分别发送和监听`message`事件,实现数据传递: ```javascript // 在外部页面 window.addEventListener('message', function(event) { if (event.origin !== 'http://example.com') return; ...

    MVC实现iframe弹窗传值

    在MVC架构下,实现iframe弹窗并进行值传递是一个常见的需求,特别是在需要在一个页面上显示或编辑独立的数据片段时。以下将详细介绍如何在ASP.NET MVC中实现这个功能。 1. **创建弹窗** 弹窗通常通过JavaScript或...

    JSP跨iframe如何传递参数实现代码

    特别是当一个页面中包含一个iframe,而另一个页面被嵌入到这个iframe中时,跨iframe传递参数的需求就会出现。本文主要介绍如何在JSP页面间通过iframe跨页面传递唯一性参数,并处理相应的查询与逻辑判断。 首先,...

    H5 postMessage 实现iframe 跨域传递数据

    本文将深入探讨`postMessage`的工作原理,以及如何利用它来实现iframe跨域传递数据。 ### 一、跨域问题 在传统的Web环境中,由于同源策略的限制,JavaScript不能随意访问不同源(协议、域名或端口)的资源,这给...

    MFC ie webbrowser iframe/frame

    标题"MFC ie webbrowser iframe/frame"指向的主题是关于如何在MFC应用程序中使用IE WebBrowser控件,并特别关注如何处理iframe框架以及在其中交互。Iframe(Inline Frame)是一种HTML元素,用于在页面中嵌入另一个...

    嵌套iFrame使用postMessage相互传递消息(嵌套iFrame、跨父子窗口、跨页面).zip

    练习说明:使用postMessage可以在iFrame、父子窗口、跨页面等,之间相互传递消息。 你好,我是TKCB-GO,一个有着游戏策划梦想,却沦为程序员的游戏家,这是我的技术博客:www.tkcb.cc 技术博客网站里面,除了我的...

    IE浏览器IFrame对象内存不释放问题解决方法

    标题中的“IE浏览器IFrame对象内存不释放问题解决方法”是指在使用Internet Explorer(IE)浏览器时,特别是在涉及IFrame对象的场景下,可能会遇到内存管理的问题。IFrame是一种可以在网页中嵌入其他HTML页面的元素...

    Firefox返回时Iframe的显示Bug的解决方法

    一个页面有4个Iframe来显示flash内容,其中第二个iframe的显示是用Javascript控制的,只有当特定的cookie存在时才出现,否则显示普通的文本。

    iframe中onload的bug

    NULL 博文链接:https://snandy.iteye.com/blog/666530

    asp.net 中使用iframe动态加载页面

    在代码隐藏文件(例如 aspx.cs 文件)中,声明 iframe 变量,用于在服务器端访问 iframe 元素。例如: ``` protected System.Web.UI.HtmlControls.HtmlGenericControl frame1; ``` Step 3:在 Page_Load 事件中获取 ...

    div被iframe遮住的几种情况及解决方法

    在IE8中,当IFRAME内部嵌入video元素进行视频播放时,可能会导致外部元素的z-index层级设置失效,即不论外部元素的z-index值是多少,都会被IFRAME覆盖。解决这个问题的一个方法是在IFRAME的URL参数中添加wmode=...

    frame之间以及子页面和父页面间参数传递

    ### Frame之间及子页面与父页面间的参数传递 在Web开发中,特别是在使用JSP(Java Server Pages)技术时,经常需要实现不同`frame`之间的数据交互或子页面与父页面之间的参数传递。这种功能在实际应用中非常常见,...

    Layui实现主窗口和Iframe层参数传递

    这应该是我们在开发中经常用到的吧,主窗口和Iframe层之间传值实现我们各种需求,比如打开某条记录的详细数据…. 主窗口向Iframe层传值: //主窗口代码 layer.open({ type: 2, title: "标题", shade: 0.5, ...

    IE下去掉iframe边框兼容IE7\IE8\IE6以下

    【IE6以下】 iframe边框通过css设定在FF下正常在ie下却还存在边框,通过在iframe标签内部设置属性 frameborder="no" border="0" 可以去掉讨厌的iframe边框。 &lt;iframe src="url“ id="iframe" width="0" height="0...

    IFrame中Session丢失的解决办法

    尽管这可能增加网络传输的数据量,但在IFrame环境下,这是必要的,因为没有Cookie,SessionID就无法在主页面与IFrame之间传递。 3. **P3P头的添加:** 对于IE浏览器,需要在服务器端添加P3P头,例如`Response.Add...

    iframe内容高度 iframe自适应高度终极解决Iframe设置高度后无法缩小问题

    这里,`id`属性为`"conFrame"`的`&lt;iframe&gt;`在加载完成后会调用`setIFrameHeight`函数,并传递`'conFrame'`作为参数。函数内部会检查传入的`iframe`标识,如果是`'content'`,则更新`&lt;iframe&gt;`的高度;如果不是,代码...

Global site tag (gtag.js) - Google Analytics