获取iframe属性,获取iframe的内容

http://www.itjxue.com  2023-01-08 13:33  来源:未知  点击次数: 

如何获取页面中iframe的属性

给iframe设个id= testIframe

var parentWindow;

var testIframe;

for(var i = 0 ; i 10; i++){

parentWindow = window.top.frames[i];

testIframe= $('#testIframe', parentWindow.document).val();

if(testIframe){

break;

}

}

js 如何获取包含自己iframe 属性

在父页面中定义函数,再到子页面中调用。

父页面parent.html

script

function getFrameId(f){

var frames = document.getElementsByTagName("iframe"); //获取父页面所有iframe

for(i=0;iframes.length;i++){ //遍历,匹配时弹出id

if(frames[i].contentWindow == f){

return(frames[i].id)

}

}

}

/script

子页面child.html

script

var thisId = window.parent.getFrameId(this);

alert(thisId);

/script

请教在JS中怎么获取和设置iframe的src属性

script language="javascript"

alert(window.frame1.location);

window.frame1.location = 'url';

/script

火狐里一个页里有两个iframe,在一个iframe怎么获取另一个iframe的src值

先取得主页面的iframe,再取得另一个iframe。

具体方法如下:在2个iframe中定义各自的id,在此假设他们的id分别为“A”和“B”,如果要让A获取B的src,则可以用这个方式:parent.B.document.getElementById("你要取的东西的id").value;

这样就可以相互取值了。

javascript 如何获取iframe里面的内容?

要解释这个问题,首先要解释两个技术点。

每个“窗口”都是一个JS Runtime,即JS的运行时。如果只有一个窗口,那么就只有一个Runtime;如果一个窗口下面还有一个iframe,那么就有两个Runtime;以此类推。

Runtime之间互操作(或者通信)是有跨域限制的。也就是说,如果这个窗口本身是a.baidu.com域名下的页面,那么如果这个页面下还有一个iframe,这个iframe中加载的页面是b.baidu.com域名下的。那么外层的JS。就不能跟这个iframe中的内容互操作(或者通信)。

因此外层Runtime中的JS想操作内层iframe中的内容,就必须要避免跨域限制。要么内层iframe加载页面的域名跟外层是一样的。要么就是需要在内层iframe加载的页面中执行document.domain = 'baidu.com';从而设置跟外层的主域相同。

例如,当前页面是a.baidu.com/test.html

html

head

/head

body

????iframe?id="iFrm1"?src="

????script

????????document.domain?=?'baidu.com';

????????var?ifrm1?=?document.getElementById('iFrm1');

????????ifrm1.onload?=?function(){

????????????alert(ifrm1.contentWindow.document.getElementById('innerDiv').innerHTML);//弹出恭喜你操作到内部iframe中的元素了!!!

????????};

????/script

/body

/html

iframe中加载的页面内容如下:

html

head

/head

body

????div?id="innerDiv"恭喜你操作到内部iframe中的元素了!!!/div

????script

????????document.domain?=?'baidu.com';

????/script

/body

/html

在HTML5中新增了postMessage的API。可以方便窗口跟内部iframe之间进行通信,并且可以实现跨主域通信。但是有一些限制,1.老版本的浏览器一般不支持。2.父窗口只能向iframe中发送信息,iframe只能收消息,且父窗口不能直接操作iframe中的内容。3.父窗口发送的数据也是有限制的。只能发送基本数据类型或者plain object。

如何用 iframe 中的 JavaScript 获取 iframe 本身的 ID 或 name

这个要看有没有选择器了

如果有的话 比如 iframe ?的id name class 获取其它标签都可以

有的话下面 比如这是a页面 叫index.html

html

head

style

body{

width:100%;

}

#emmm{

height:?200px;

????width:?200px;

}

/style

body

iframe?src="

/body

/head

/html

b页面 叫fuben.html

html

head

style

body{

width:100%;

}

#emmm{

height:?100px;

????width:?100px;

border:1px?solid?#ddd;

}

/style

body

/body

script

var?cc?=?window.parent.document.getElementsByTagName("iframe");

for?(?var?i=0;icc.length;i++?)?{

????if(cc[i].getAttribute("date-m")?==?"2333"){

alert(cc[i].getAttribute("id")+"/"+cc[i].getAttribute("name"));??

}

}

/script

/head

/html

!--

window.parent.document.getElementsByTagName("iframe")

这个代表获取父页面所有?iframe?

然后循环所有iframe?

判断当前iframe?的自定义属性??

判断他等不等于定的

getAttribute就是获取属性的??

(如果有id?name?class的话直接用值.getAttribute("id");就可以)

--

//如果没有能判定的只知道是个iframe

//修改script代码

var?cc?=?window.parent.document.getElementsByTagName("iframe");

for?(?var?i=0;icc.length;i++?)?{

????if(cc[i].getAttribute("src")?==?window.location.href){

alert(cc[i].getAttribute("id")+"/"+cc[i].getAttribute("name"));??

}

}

//还是获取父页面所有iframe

//循环

//判断父页面iframe的src?是否等于当前的url???这里只写了全url?如果相对路径还要截取

//当前iframe?如果url和src相同输出当前的?id和name

parent不可以跨域 如果想要跨域来做什么修改就不要想了

(责任编辑:IT教学网)

更多

推荐Oracle认证文章