一、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");

}

}

总结JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作的更多相关文章

  1. 总结js(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作

    http://hi.baidu.com/yashua839/blog/item/131fdb2fe547ef221f3089af.html一.Iframe 篇 //&&&&am ...

  2. HTML中IFrame父窗口与子窗口相互操作

    一.Iframe篇 //&&&&&&&&&&&&&&&&&&am ...

  3. JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作

    一.Iframe 篇 公共部分 //父对象得到子窗口的值 //ObjectID是窗口标识,ContentID是元素ID function GetValue(ObjectID,ContentID) { ...

  4. js window.open() 父窗口与子窗口的互相调用(未必有用)

    javascript 父窗口与子窗口的互相调用 <html> <head></head> <body> 主要实现父子关系的页面 window.opene ...

  5. #js window.open() 父窗口与子窗口的互相调用【转】

    未完整版 javascript 父窗口与子窗口的互相调用 a.html 父页面 <HTML> <HEAD> <meta http-equiv="content- ...

  6. Iframe父页面与子页面之间的相互调用

    iframe元素就是文档中的文档. window对象: 浏览器会在其打开一个HTML文档时创建一个对应的window对象.但是,如果一个文档定义了一个或者多个框架(即:包含一个或者多个frame或者i ...

  7. Iframe父页面与子页面之间的调用

    原文:Iframe父页面与子页面之间的调用 Iframe父页面与子页面之间的调用 专业词语解释如下:     Iframe:iframe元素是文档中的文档.     window对象: 浏览器会在其打 ...

  8. iframe父窗口和子窗口之间的调用

    1>父窗口获取子窗口 js方法 document.getElementById('if1').contentWindow.document: window.frames["if1&qu ...

  9. iframe父窗口和子窗口的调用方法

    iframe 父窗口和子窗口的调用方法父窗口调用子窗口 iframe_name.iframe_document_object.object_attribute = attribute_value 例子 ...

随机推荐

  1. 【Longest Palindromic Substring】cpp

    题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...

  2. git的初步了解

    其实git我也不熟,请两天假回来宿友告诉我,我们有一份高大尚的作业.我问她们才知道原来是让我们以博客的形式写两份作业交上去.git还是我在网上查找到的,才对它有一些的了解. git是一个开源分布式版本 ...

  3. REST API 基于ACCESS TOKEN 的权限解决方案

    REST 设计原则是statelessness的,而且但客户端是APP时,从APP发起的请求,不是基于bowers,无法带相同的sessionid,所以比较好的方案是每次请求都带一个accesstok ...

  4. Matlab稀疏矩阵

    一.矩阵存储方式 MATLAB的矩阵有两种存储方式,完全存储方式和稀疏存储方式 1.完全存储方式 将矩阵的全部元素按列存储,矩阵中的全部零元素也存储到矩阵中. 2.稀疏存储方式 仅存储矩阵所有的非零元 ...

  5. angularJs 问题

    1. IE不能渲染指令中的 style="background-color",而chrome和firefox可以 <!DOCTYPE html> <html ng ...

  6. c++11 lambda(匿名函数)

    #include <iostream> #include <functional> using namespace std::placeholders; //lambda即匿名 ...

  7. imageNamed 与 imageWithContentsOfFile的区别

    如题,是不是大家为了方便都这样加载图片啊 myImage = [UIImage imageNamed:@"icon.png"];那么小心了这种方法在一些图片很少,或者图片很小的程序 ...

  8. BZOJ 1071组队

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1071 题目很好,居然写了很久,题解找了真多: 主要两种做法: O(n^2lgn),通过优先 ...

  9. Android 4.4 KitKat, the browser and the Chrome WebView

    Having V8 as the JavaScript engine for the new web view, the JavaScript performance if much better, ...

  10. associated 2 maps

    <!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content= ...