获取iframe属性,获取iframe的内容
如何获取页面中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不可以跨域 如果想要跨域来做什么修改就不要想了