根据浏览器的同源策略,iframe的内容与父窗口同域(默认情况也同域)时,它们的内容就允许互相通信。我们可以从iframe上取到其window对象来做进一步操作,但是此处在IE中存在BUG。IE中的iframe中无法从window对象获取到在父窗口直接对其设置的属性。
这个问题貌似(因为只测试到IE10)存在所有IE版本中。
- <iframe id="iframe"></iframe>
- <script>
- //获取iframe关联的window对象
- var w=document.getElementById("iframe").contentWindow;
- //对iframe关联的window设置test属性
- w.test="次碳酸钴";
- //对iframe关联的window添加程序,程序中输出window的test属性
- w.document.write("<script>alert(window.test)<\/script>");
- </script>
Chrome和Firefox中都可以从iframe中访问到在父窗给它设置的属性,但是IE中就访问不了。这个设计非常不合理,虽然W3C对此无定义,但是以我的逻辑来看这就是IE的BUG。
本文版权归属:宁波广告公司http://www.lihe-ad.com/ 转载请注明,肆意删除链接,我们将保留追责权利
本文版权归属:宁波广告公司http://www.lihe-ad.com/ 转载请注明,肆意删除链接,我们将保留追责权利
相关推荐
`iframe`跨域消息传递是解决这个问题的关键技术,它允许不同源的`iframe`和主页面之间安全地交换数据。 标题"iframe消息监听传递"主要涉及到两个核心概念:`postMessage`和`message`事件。这两个API是HTML5引入的,...
JavaScript实现IFrame子窗口调用父窗口的全局变量
本文将深入探讨如何通过 `Iframe` 获取父页面的变量和控件。 首先,我们要理解 `Iframe` 的基本概念。`Iframe` 是一个内联框架,它允许我们在一个HTML文档中嵌入另一个HTML文档,相当于在当前页面中打开一个新的...
在Iframe内部和外部页面分别发送和监听`message`事件,实现数据传递: ```javascript // 在外部页面 window.addEventListener('message', function(event) { if (event.origin !== 'http://example.com') return; ...
在MVC架构下,实现iframe弹窗并进行值传递是一个常见的需求,特别是在需要在一个页面上显示或编辑独立的数据片段时。以下将详细介绍如何在ASP.NET MVC中实现这个功能。 1. **创建弹窗** 弹窗通常通过JavaScript或...
特别是当一个页面中包含一个iframe,而另一个页面被嵌入到这个iframe中时,跨iframe传递参数的需求就会出现。本文主要介绍如何在JSP页面间通过iframe跨页面传递唯一性参数,并处理相应的查询与逻辑判断。 首先,...
本文将深入探讨`postMessage`的工作原理,以及如何利用它来实现iframe跨域传递数据。 ### 一、跨域问题 在传统的Web环境中,由于同源策略的限制,JavaScript不能随意访问不同源(协议、域名或端口)的资源,这给...
标题"MFC ie webbrowser iframe/frame"指向的主题是关于如何在MFC应用程序中使用IE WebBrowser控件,并特别关注如何处理iframe框架以及在其中交互。Iframe(Inline Frame)是一种HTML元素,用于在页面中嵌入另一个...
练习说明:使用postMessage可以在iFrame、父子窗口、跨页面等,之间相互传递消息。 你好,我是TKCB-GO,一个有着游戏策划梦想,却沦为程序员的游戏家,这是我的技术博客:www.tkcb.cc 技术博客网站里面,除了我的...
标题中的“IE浏览器IFrame对象内存不释放问题解决方法”是指在使用Internet Explorer(IE)浏览器时,特别是在涉及IFrame对象的场景下,可能会遇到内存管理的问题。IFrame是一种可以在网页中嵌入其他HTML页面的元素...
一个页面有4个Iframe来显示flash内容,其中第二个iframe的显示是用Javascript控制的,只有当特定的cookie存在时才出现,否则显示普通的文本。
NULL 博文链接:https://snandy.iteye.com/blog/666530
在代码隐藏文件(例如 aspx.cs 文件)中,声明 iframe 变量,用于在服务器端访问 iframe 元素。例如: ``` protected System.Web.UI.HtmlControls.HtmlGenericControl frame1; ``` Step 3:在 Page_Load 事件中获取 ...
在IE8中,当IFRAME内部嵌入video元素进行视频播放时,可能会导致外部元素的z-index层级设置失效,即不论外部元素的z-index值是多少,都会被IFRAME覆盖。解决这个问题的一个方法是在IFRAME的URL参数中添加wmode=...
### Frame之间及子页面与父页面间的参数传递 在Web开发中,特别是在使用JSP(Java Server Pages)技术时,经常需要实现不同`frame`之间的数据交互或子页面与父页面之间的参数传递。这种功能在实际应用中非常常见,...
这应该是我们在开发中经常用到的吧,主窗口和Iframe层之间传值实现我们各种需求,比如打开某条记录的详细数据…. 主窗口向Iframe层传值: //主窗口代码 layer.open({ type: 2, title: "标题", shade: 0.5, ...
【IE6以下】 iframe边框通过css设定在FF下正常在ie下却还存在边框,通过在iframe标签内部设置属性 frameborder="no" border="0" 可以去掉讨厌的iframe边框。 <iframe src="url“ id="iframe" width="0" height="0...
尽管这可能增加网络传输的数据量,但在IFrame环境下,这是必要的,因为没有Cookie,SessionID就无法在主页面与IFrame之间传递。 3. **P3P头的添加:** 对于IE浏览器,需要在服务器端添加P3P头,例如`Response.Add...
这里,`id`属性为`"conFrame"`的`<iframe>`在加载完成后会调用`setIFrameHeight`函数,并传递`'conFrame'`作为参数。函数内部会检查传入的`iframe`标识,如果是`'content'`,则更新`<iframe>`的高度;如果不是,代码...