日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Iframe的那些事

發(fā)布時(shí)間:2023/12/10 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Iframe的那些事 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在web開發(fā)中,經(jīng)常會(huì)用到iframe,難免會(huì)碰到需要在父窗口中使用iframe中的元素、或者在iframe框架中使用父窗口的元素

js

在父窗口中獲取iframe中的元素?

1、

格式:window.frames["iframe的name值"].document.getElementByIdx_x("iframe中控件的ID").click();

實(shí)例:window.frames["ifm"].document.getElementByIdx_x("btnOk").click();

2、

格式:

var obj=document.getElementByIdx_x("iframe的name").contentWindow;

var ifmObj=obj.document.getElementByIdx_x("iframe中控件的ID");

ifmObj.click();

實(shí)例:

var obj=document.getElementByIdx_x("ifm").contentWindow;

var ifmObj=obj.document.getElementByIdx_x("btnOk");

ifmObj.click();

在iframe中獲取父窗口的元素

格式:window.parent.document.getElementByIdx_x("父窗口的元素ID").click();

實(shí)例:window.parent.document.getElementByIdx_x("btnOk").click();

jquery

在父窗口中獲取iframe中的元素?

1、

格式:$("#iframe的ID").contents().find("#iframe中的控件ID").click();//jquery 方法1

實(shí)例:$("#ifm").contents().find("#btnOk").click();//jquery 方法1

2、

格式:$("#iframe中的控件ID",document.frames("frame的name").document).click();//jquery 方法2

實(shí)例:$("#btnOk",document.frames("ifm").document).click();//jquery 方法2

在iframe中獲取父窗口的元素

格式:$('#父窗口中的元素ID', parent.document).click();

實(shí)例:$('#btnOk', parent.document).click();

父窗獲取子窗口的IFrame中的JS方法

一、父窗口調(diào)用iframe子窗口方法

1、HTML語法:<iframe name="myFrame" src="child.html"></iframe> 2、父窗口調(diào)用子窗口:myFrame.window.functionName(); 3、子窗品調(diào)用父窗口:parent.functionName(); 簡單地說,也就是在子窗口中調(diào)用的變量或函數(shù)前加個(gè)parent.就行 4、父窗口頁面源碼:

復(fù)制代碼代碼如下:

?

<html>?

<head>?

<script type="text/javascript">?

function say() {?

alert("parent.html------>I'm at parent.html");?

}?

function callChild()?

{?

//document.frames("myFrame").f1();?

myFrame.window.say();?

}?

</script>?

</head>?

<body>?

<input type=button value="調(diào)用child.html中的函數(shù)say()" οnclick="callChild()">?

<iframe name="myFrame" src="child.html"></iframe>?

</body>?

</html>?

?

5、子窗口頁面:

復(fù)制代碼代碼如下:

?

<html>?

<head>?

<script type="text/javascript">?

function say()?

{?

alert("child.html--->I'm at child.html");?

}?

function callParent() {?

parent.say();?

}?

</script>?

</head>?

<body>?

<input type=button value="調(diào)用parent.html中的say()函數(shù)" οnclick="callParent()">?

</body>?

</html>?

二、iframe 父窗口和子窗口相互的調(diào)用方法

1、IE中使用方法: 父窗口調(diào)用子窗口:iframe_ID.iframe_document_object.object_attribute = attribute_value 例子:onClick="iframe_text.myH1.innerText='http://www.pint.com';" 子窗口調(diào)用父窗口:parent.parent_document_object.object_attribute = attribute_value 例子:οnclick="parent.myH1.innerText='http://www.pint.com';" 2、Firefox中使用方法: 上面在IE下沒有問題,但在firefox下不正常。在firefox下,應(yīng)該是如下調(diào)用方法: 父窗口調(diào)用子窗口:window.frames["iframe_ID"].document.getElementById("iframe_document_object"-).object_attribute = attribute_value 例: window.frames["iframe_text"].document.getElementById("myH1").innerHTML= "http://hi.jb51.net"; 子窗口調(diào)用父窗口:parent.document.getElementById("parent_document_object").object_attribute = attribute_value 例: parent.document.getElementById("myH1").innerHTML = "http://jb51.net"; 3、完整的例子 test.htm

復(fù)制代碼代碼如下:

?

<HTML>?

<HEAD>?

<TITLE> Test Page </TITLE>?

<script src="prototype-1.4.0.js"></script>?

<script language="javascript">?

function show()?

{?

window.frames["iframe_text"].document.getElementById("myH1").innerHTML = "http://hi.jb51.net";?

}?

</script>?

</HEAD>?

<BODY>?

<iframe height="350" width="600" src="iframe_test.htm" name="iframe_text"></iframe>?

<form action="" method="post">?

<input name="haha" id="haha" type="text" maxlength="30" value="haha" />?

<br />?

<textarea cols="50" rows="5" id="getAttributeMethod"></textarea>?

<input type="button" onClick="show();" value="提交"/>?

</form>?

<h1 id="myH1">d</h1>?

</BODY>?

</HTML>?

?

frame_test.htm

復(fù)制代碼代碼如下:

?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">?

<html xmlns="http://www.w3.org/1999/xhtml">?

<head>?

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />?

<title>無標(biāo)題文檔</title>?

</head>?

<script language="javascript">?

function show()?

{?

parent.document.getElementById("myH1").innerHTML = http://jb51.net;?

}?

</script>?

<body>?

<h1 id="myH1">ha</h1>?

<form action="" method="post">?

<input name="abc" id="abc" type="text" maxlength="30" value="abc" />?

<br />?

<textarea cols="50" rows="10" id="text"></textarea>?

<br />?

<input type="button" value="提交" οnclick="show();"/>?

</form>?

</body>?

</html>?

test.htm里面firefox下訪問iframe?必須用name,不能用id,所以要改為name="iframe_test"?。(http://chenling1018.blog.163.com/blog/static/1480254200811891041694/)?三、在c#中如何動(dòng)態(tài)改變iframe的src值,動(dòng)態(tài)指向一個(gè)網(wǎng)頁?

1)如果是javascript腳本?給iframe加一個(gè)ID如<iframe?id=frmList……?在腳本寫?frmList.document.location=strNewUrl?2)如果是后臺(tái)程序?給iframe加一個(gè)ID,再加上runat=server?如<iframe?id=frmList?runat=server?……?在程序里寫?frmList.Attributes.Add("src",strNewUrl);

總結(jié)

以上是生活随笔為你收集整理的Iframe的那些事的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。