可是我的不行,我写了个parent.parent.location.reload(); 才行的。
一、Iframe 篇
//&&&&&&&&&&&&&&&&&&&&公共方法开始&&&&&&&&&&&&&&&
//父对象得到子窗口的值
//ObjectID是窗口标识,ContentID是元素ID
function GetValue(ObjectID,ContentID)
{
var IsIE = (navigator.appName == ‘Microsoft Internet Explorer‘)
if(IsIE)
{//如果是IE
alert(document.frames(ObjectID).document.getElementById(ContentID).innerHTML);
}
else
{//如果是FF
alert(document.getElementById(ObjectID).contentDocument.getElementById(ContentID).innerHTML);
//FF下不支持innerText; 下面是解决方法
//if(document.all){
// alert(document.getElementById(‘div1‘).innerText);
//} else{
// alert(document.getElementById(‘div1‘).textContent);
//}
}
}
//父对象向子窗口赋值
//ObjectID是窗口标识,ContentID是元素ID
function SetValue(ObjectID,ContentID)
{
var IsIE = (navigator.appName == ‘Microsoft Internet Explorer‘)
if(IsIE)
{//如果是IE
document.frames(ObjectID).document.getElementById(ContentID).innerHTML="我是IE下通过父窗口赋值过来的";
}
else
{//如果是FF
document.getElementById(ObjectID).contentDocument.getElementById(ContentID).innerHTML="我是FF下通过父窗口赋值过来的";
}
}
//&&&&&&&&&&&&&&&&&&&&公共方法结束&&&&&&&&&&&&&&&
1.父窗口对子窗口操作
刷新:
document.getElementById("IframeID").src=document.getElementById("IframeID").src+"?_="+Math.random();
上面这种方法有时需要对“src”属性处理一下。
取值:
//父窗口取子窗口的值
GetValue("Iframe1","IframeDiv");
赋值:
//父窗口设置窗口元素的值;
SetValue("Iframe1","IframeDiv");
2.子窗口操作父窗口
刷新:
(1)、window.parent.location.href=window.parent.location.href;
(2)、window.parent.location.reload();
(3)、大家可以补充
取值:
alert(window.parent.document.getElementById("IframeDiv").innerHTML);
赋值:
window.parent.document.getElementById("IframeDiv").innerHTML="我是从子窗口IFRAME传过来的值";
关闭:
window.parent.opener=null;//如果不加这句,会提示关闭询问窗口;
window.parent.close();
二、window.open 篇
1.父窗口对子窗口操作
打开:
var win=null;
win=window.open("Open.html","win","width=200,height=200");
最大化:
//窗口最大化
function SonMaximize()
{
if(win&&win.open&&!win.closed)
{
win.moveTo(-4,-4);
win.resizeTo(screen.availWidth+8,screen.availHeight+8);
}else{
alert(‘还没有打开窗口或已经关闭‘);
}
}
最小化:
//窗口最小化
function SonMinimize()
{
if(win&&win.open&&!win.closed)
{
win.resizeTo(0,0);
win.moveTo(0,window.screen.width);
}else{
alert(‘还没有打开窗口或已经关闭‘);
}
}
关闭:
//关闭窗口
function CloseSon()
{
if(win&&win.open&&!win.closed)
{
win.opener=null;
win.close()
}else{
alert(‘还没有打开窗口或已关闭‘) ;
}
}
刷新:
//刷新
function RefreshSon()
{
if(win&&win.open&&!win.closed)
{
win.location.reload();
win.focus();
}else{
alert(‘窗口还没有打开或已关闭‘);
}
}
查看窗口大小:
function ViewSonSize()
{
if(win&&win.open&&!win.closed)
{
alert(win.document.body.clientWidth+‘*‘+win.document.body.clientHeight);
win.focus();
}else
{
alert(‘ 还没有打开窗口或者已关闭‘);
}
}
取值:
alert(window.document.getElementById("OpenDiv").innerHTML);
赋值:
win.document.getElementById("OpenDiv").innerHTML="我是从父窗口中传过来的值";
2.子窗口操作窗口
刷新:
window.opener.location.reload();
//下面这种方法也可以
//window.parent.location.href=window.parent.location.href;
关闭本窗口:
//关闭本窗口
function CloseWindow()
{ //window.opener.opener=null;
window.close();
}
关闭父窗口:
//关闭父窗口
function CloseParent()
{ //火狐下不起作用,如果要想起作用。用下面的方法
//开firefox,在地址栏输入about:config
//找到dom.allow_scripts_to_close_windows这项并改为true
var IsIE = (navigator.appName == ‘Microsoft Internet Explorer‘)
if(IsIE){//如果是IE
window.opener.opener=null;
window.opener.close();
window.close();
}else{
alert("火狐不能直接关闭;需要以下设置1.开firefox,在地址栏输入about:config;2.找到dom.allow_scripts_to_close_windows这项并改为true");
}
}
取值:
alert(window.opener.document.getElementById("OpenDiv").innerHTML);
赋值:
window.opener.document.getElementById("OpenDiv").innerHTML="我是从子窗口Open传过来的值";
三、模态窗口篇
1.父窗口操作子窗口
父窗口JS代码:
var parValue="现在显示了父窗口中的变量值";
var hao="郝建卫";
function ShowDailog(PageHref,Title,Height,Width)
{
//--------------left位置
//screen.availHeight声明了显示浏览器的屏幕的可用宽度
var dleft =(screen.availHeight-Height)/2;
//--------------top位置
var dtop =(screen.availWidth-Width)/2;
//---------------
Var sRet = window.showModalDialog(PageHref,window,Title,"scrollbars=yes;resizable=no;help=no;status=no;center=yes;dialogTop=25;dialogLeft="+ dleft +";dialogTop="+ dtop +";dialogHeight="+Height+"px;dialogWidth="+Width+"px;");
//--------return
if (sRet =="refresh")//这种是利用返回值来刷新父页面
{
window.Test="true";
window.location.reload();
alert(window.Test);
}
}
function test()
{
alert("模态窗口成功调用父窗口的方法");
}
2.模态窗口操作父窗口
var parentWin=window.dialogArguments;
刷新:
parentWin.location.reload();
取值:
alert(parentWin.document.getElementById("ShowModalDialogDiv").innerHTML) //获取父窗口中的对象
alert("我是从父窗口中得到的变量>>>"+parentWin.parValue); //获取父窗口中的变量
调用父窗口JS方法:
parentWin.test(); //调用父窗口中的方法
赋值:
parentWin.document.getElementById("ShowModalDialogDiv").innerHTML="我是从子窗口ShowModalDialog传过来的值";
关闭本窗口:
//关闭本窗口
function CloseWindow()
{
window.parent.close();
}
关闭父窗口:
//关闭父窗口
function CloseModal()
{
var IsIE = (navigator.appName == ‘Microsoft Internet Explorer‘)
if(IsIE){//如果是IE
window.parent.parent.close();
//parentWin.opener=null;如果把上面的换成这行,不能关闭父窗口,
parentWin.close();
//window.parent.parent.parent.parent.close();这个只能关闭模态窗口本身目前只在IE6下测试
}else{
alert("火狐不能直接关闭;需要以下设置1.开firefox,在地址栏输入about:config;2.找到dom.allow_scripts_to_close_windows这项并改为true");
}
}
相关推荐
在Web开发中,`window.open` 是一个JavaScript函数,它用于打开新的浏览器窗口或标签页。这个函数在处理用户交互,比如点击按钮打开新页面,或者在不同窗口间传递数据时非常常见。当我们谈论“window.open父子窗口...
在JavaScript的世界里,`window.open`、`iframe`和`dialog`是三个非常重要的概念,它们在网页交互和页面通信中扮演着关键角色。这里我们将深入探讨这些知识点,并结合实例来帮助你理解它们的用法。 1. `window.open...
从iframe打开window.open Chrome会阻止从跨域框架中单击的所有window.open。 该扩展名允许您打开窗口。 单击链接到本地文件。 文件打开。Chrome商店原始扩展名 原始的chrome扩展名仅允许打开本地链接。 我已经...
在JavaScript编程中,`window.showModalDialog`是一个用于打开模态对话框的函数,它能够创建一个新的浏览器窗口或者在当前窗口内显示一个弹出层,阻止用户与父窗口的交互,直到用户关闭对话框为止。这个方法在创建...
1. **导航控制**:`window.location`用于获取或设置当前页面的位置,`window.open()`可以打开新窗口。 2. **页面操作**:`window.onload`和`window.DOMContentLoaded`事件分别在页面完全加载和DOM结构加载完成后触发...
`parent.layer.getFrameIndex(window.name)` 用于获取当前iframe层的索引,`parent.layer.iframeAuto(index)` 则根据索引值使弹窗内容自动调整大小以适应内容。 接下来,我们讨论如何让layer.open的弹窗居中显示。...
如果弹出层是通过`window.open`方式打开的,那么可以利用`window.opener`对象来访问父页面的数据。 **步骤详解:** 1. **打开弹出层**: - 在子页面B中打开弹出层C时,直接使用`window.open`方法即可。 ```...
总结,使用JavaScript的模式化窗口时,我们需要关注浏览器兼容性问题,特别是`window.dialogArguments`对象在Firefox中的特殊行为。通过适当的包装和浏览器检测,可以有效地解决这些兼容性问题,从而实现跨浏览器的...
在子页面中,可以通过`window.location.search`获取查询字符串并解析。 然后,是“调用父页面的方法”。EasyUI提供了一种方式,通过`parent`关键字来访问父窗口的对象,从而调用其上的函数。假设在父页面上有一个名...
`window.postMessage()`方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文档的消息传递,即跨域通信。它的工作原理是:一个窗口向其打开的子窗口、其父窗口或者任何其他与之有某种关系的窗口发送...
总结,本文所分享的layer.open按钮点击事件的关闭方法,涵盖了layer.open的基本用法、事件处理、关闭layer的方法、参数传递及层的管理等关键知识点。对于希望快速实现Web界面弹出层功能的开发者来说,是一篇具有实用...
1. **跨窗口通信**:当一个页面打开另一个页面(如新窗口、`window.open`或`window.navigate`),它们可以通过`postMessage`通信。 2. **跨`iframe`通信**:父页面与`iframe`或多个`iframe`之间的通信,特别是当`...
这里,`otherWindow`指的是要通信的目标窗口,可以是通过window.frames属性访问的iframe窗口,或者是通过window.open()方法打开的新窗口。`message`参数是要发送的数据,它可以是字符串或对象(但IE8和IE9只支持字符...
- `window.name`:设置或获取窗口的名字,常用于`window.open()`方法中的参数。 - **方法** - `window.alert(message)`:显示一个带有指定消息的警告对话框。 - `window.confirm(message)`:显示一个确认对话框...
在JavaScript中,`window.parent` 和 `window.opener` 是两个不同的对象,它们分别用于处理不同类型的窗口间通信。理解这两个对象的区别对于开发涉及多窗口交互的Web应用至关重要。 首先,`window.parent` 主要应用...
通过`window.open()`函数打开的子窗口刷新父页面 - **语法**: `window.opener.location.reload();` - **应用场景**: 当用户在一个新窗口操作后需要返回主窗口时,可以通过这种方式刷新主窗口。 ##### 3. 刷新某一...
Javascript,iframe的使用,框架,弹出新的窗口,警告框 window.open Javascript,iframe的使用,框架,弹出新的窗口,警告框 window.open Javascript,iframe的使用,框架,弹出新的窗口,警告框 window.open ...
在网页开发中,有时我们需要从一个弹出的子窗口(通常是由 `window.open` 或 `window.showModalDialog` 方法打开的)来控制父窗口的行为,比如刷新父窗口的页面。这在很多应用场景下都非常有用,比如用户在子窗口...
根据给定的信息,“跳转代码”这一...而对于需要在后台执行某些操作后再跳转的情况,可以考虑使用隐藏的`<iframe>`标签或者JavaScript的`window.open()`方法。无论采用哪种方式,都需要确保代码的安全性和用户体验。