`
daoger
  • 浏览: 529711 次
  • 性别: Icon_minigender_1
  • 来自: 山东济南
社区版块
存档分类
最新评论

在iframe中进行dom编程的一点问题

阅读更多
在一个页面A中嵌入了一个iframe,现在需要在iframe的链接页面B中操作页面A中的一个元素,如下示例:
var logindiv = window.parent.document.getElementById("login");
			var reload = "${reload}";
			if(reload.length>0&&reload=="true")
			{
				logindiv.innerHTML = "";
				var logoutLink = document.createElement("a");
				logoutLink.href = "login?action=logout";
				logoutLink.appendChild(document.createTextNode("Logout"));
				logindiv.appendChild(logoutLink );
			}


原来在同一页面中进行这样的类似操作是对的,但是刚才试了一下不行,浏览器提示有参数错误。
使用js进行DOM编程的时候,我知道不同浏览器对元素内容的判定是有区别的,比如同样是一个div元素,这样写"<div></div>";在ie中,div标签下是没有内容的,但是在firefox下div标签下的内容长度是1,因为firefox把空格也当成一个节点来处理。所以,进行清空元素内容操作时,在ie中
var olength= object.childNodes.length;
with (object) {
    for (var j = 0; j < olength; j++) {
        removeChild(children[0]);
    }
}

这样操作是正确的,但是在firefox下有找不到清除对象的问题,为了兼容我一般都是采用object.innerHTML = ""的做法,当然这样做会使运行效率有所降低。

但是,这里我就有点不明白了,难道frame之间进行dom操作时也会有冲突出现?最后还是采用innerHTML解决了问题:
var logindiv = window.parent.document.getElementById("login");
			var reload = "${reload}";
			if(reload.length>0&&reload=="true")
			{
			    logindiv.innerHTML = "<a href='login?action=logout'>Logout</a>";
			}





晕死了,window.parent.document 对象创建链接,这样才对!
分享到:
评论

相关推荐

    JS操作iframe里的dom

    在本篇文章中,我们将深入探讨如何使用JS在iframe内进行DOM操作。 首先,理解iframe的基本概念至关重要。iframe(Inline Frame)是HTML中的一个元素,允许在同一个HTML文档中嵌入另一个HTML文档。这在需要在页面中...

    JavaScript DOM编程艺术

    6. **事件处理**:JavaScript的事件处理机制是DOM编程中的重要部分。通过`addEventListener`和`removeEventListener`,我们可以为元素绑定或解绑事件监听器,响应用户的交互行为,如点击、鼠标移动等。 7. **CSS...

    父页面得到iframe的数据和iframe页面得到父页面的数据.txt

    在IT领域,网页编程尤其是JavaScript和jQuery操作DOM元素时,涉及到父页面与iframe子页面之间的数据交互是一项常见但又相对复杂的技术。本文将基于提供的文件信息,深入解析父页面如何获取iframe子页面的数据,以及...

    iframe与父页面传值

    在进行父子页面通信时,必须注意安全问题。`postMessage`提供了验证`origin`的能力,以防止恶意页面注入数据。同时,由于浏览器的同源策略,跨域通信需要处理跨域资源共享(CORS)设置。 四、应用场景 - 内容嵌入:...

    后台管理禁止iframe刷新返回首页

    然而,`iframe`的使用有时也会带来一些问题,比如在后台管理系统中,当用户在某个子页面(如二级菜单页面)操作时,如果`iframe`刷新,可能会导致页面跳转回首页,这显然不是用户期望的行为。针对这个问题,我们需要...

    基于js的iframe 可关闭tab标签组件使用方法

    在网页开发中,JavaScript(js)经常被用来增强用户体验,特别是在构建动态交互式的用户界面时。本教程将详细讲解如何使用JavaScript实现一个可关闭的iframe内嵌tab...如果你在使用过程中有任何问题,欢迎回帖讨论。

    iframe批量替换工具

    在IT行业中,网页开发是一项重要的工作,而"iframe批量替换工具"是针对特定问题——网页被挂载IFRAME——而设计的一种实用解决方案。本文将详细介绍这个工具的工作原理、应用场景及相关的技术知识点。 首先,IFRAME...

    Node.js-使用隐藏的iframe观察元素大小更改

    在Node.js环境中,我们通常与服务器端编程打交道,但有时候也需要处理一些客户端的交互问题,尤其是在涉及网页渲染和用户界面动态变化的时候。本教程将探讨一个独特的方法,即利用隐藏的`iframe`来观察HTML元素的...

    jQuery冻结表头-嵌套iframe页面

    在嵌套的iframe中处理这个问题时,有以下几个关键点需要注意: 1. **跨域问题**:如果主页面和子页面不在同一个域名下,可能会遇到跨域限制。为了解决这个问题,可能需要在服务器端配置CORS(跨源资源共享)或者...

    javascript 关闭iframe外层的div容器

    在JavaScript编程中,有时我们需要处理嵌入在页面中的`iframe`元素,并可能需要与外部页面交互,例如关闭`iframe`外部的某个`div`容器。这个需求通常出现在弹窗或者模态框的场景中,`iframe`用于承载特定的内容,而...

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

    在JavaScript编程中,有时我们需要获取Iframe(内联框架)中的内容,这在处理嵌套页面、跨域通信或者实现动态加载时非常常见。本文将详细介绍如何在各种浏览器,包括Internet Explorer(IE)和Firefox(FF)等主流...

    Get iframe content

    通常,由于同源策略的限制,JavaScript在不同源之间不能直接访问对方的DOM,包括在iframe中的页面。但是,存在一些技术手段可以绕过这个限制,比如使用`window.postMessage`进行跨域通信,或者在同源策略允许的情况...

    MFC ie webbrowser iframe/frame

    在IT领域,MFC(Microsoft Foundation Classes)是微软提供的一套C++库,用于构建Windows应用程序。MFC封装了Windows API,使得...在学习和实践中,熟悉COM编程、HTML DOM模型以及MFC的事件驱动机制将非常有帮助。

    基于jquery的兼容各种浏览器的iframe自适应高度的脚本

    在实现iframe自适应高度方面,jQuery提供了强大的工具集,可以轻松地进行DOM操作,从而实现对iframe内容高度的实时监测和调整。 ### 4. 实现方法 下面是一段基于jQuery实现iframe自适应高度的示例代码: ```...

    iframe实现无刷新上传下载

    "iframe实现无刷新上传下载"是一个利用IFrame和JQuery技术来创建的项目,它允许用户在不刷新整个页面的情况下进行文件的上传和下载操作,提高了交互效率,同时也保持了页面状态的连续性。 首先,我们要理解什么是...

    js与jQuery 获取父窗、子窗的iframe.docx

    然而,在实际应用中,我们经常需要在父窗口与`iframe`之间进行交互,比如共享数据、控制样式或响应事件等。本文将详细介绍如何使用JavaScript与jQuery来实现这些功能。 #### 二、JavaScript获取iframe元素的方法 #...

    javascript iframe编程相关代码

    在进行iframe编程时,还要注意同源策略对跨iframe通信的限制,以及为了确保Web应用的安全性和性能,应当谨慎使用iframe。 以上知识点总结了使用JavaScript进行iframe编程时,对不同层次的iframe框架进行引用和操作...

    网页模板——jQuery内嵌iframe导航菜单特效源码.zip

    jQuery是一个轻量级的JavaScript库,它简化了JavaScript编程,提供了丰富的API来处理DOM操作、事件处理、动画效果以及Ajax交互。在这个模板中,jQuery被用来实现导航菜单的特效,如响应式设计、动态加载iframe内容等...

    iframe节点初始化的问题探讨

    正确的做法是在创建`iframe`后立即将其添加到DOM中,然后再进行后续的`contentDocument`操作。代码修改如下: ```javascript var ifr = document.createElement('iframe'); ifr.width = 300; ifr.height = 300; ...

    JS iFrame加载慢怎么解决

    在探讨JavaScript中iFrame加载缓慢的问题时,我们会遇到一些常见的性能瓶颈和解决方案。首先,理解iFrame加载的工作机制对于找到合适的解决方案至关重要。iFrame是HTML中的一个元素,它能够将另一个HTML文档嵌入到...

Global site tag (gtag.js) - Google Analytics