可以通过 windowtopframes 先获取全部 frame,在你的例子中有两个 frame
windowtopframes[0]:left
windowtopframes[1]:main
indexhtml
<!DOCTYPE html><html>
<head>
<title></title>
</head>
<frameset cols="300,">
<frame id="left" src="lefthtml">
<frame id="main" src="mainhtml">
</frameset>
</html>
lefthtml
<!DOCTYPE html><html>
<head>
<title>left</title>
</head>
<body>
<p>lefthtml</p>
<div id="num">12345</div>
</body>
</html>
mainhtml
<!DOCTYPE html><html>
<head>
<title>main</title>
<script type="text/javascript">
// windowtopframes[0] 为 lefthtml
var html = windowtopframes[0]documentgetElementById("num")innerHTML;
// 12345
alert(html);
</script>
</head>
<body>
<p>mainhtml</p>
</body>
</html>
1获取父页面的一个span的内容
2如果需要获取的元素和当前iframe还隔着好几个iframe可以用
可以看出来 parent 是获取上一层窗体的内容 而 top 是获取顶层窗口的内容
下边摘抄自网页
在newsasp里用脚本判断父对象是不是iframe,不是就拒绝显示--我没试,不知道行不行。
关于判断是否被iframe的JS脚本代码如下:
if(parent==null)alert(没有被iframe)
或者直接判断自身是否顶层文件来判断是否被iframe,如:
if
(self=top)
{
被直接用>
不能抓取到iframe的地址跳转。根据查询相关资料信息显示,iframe对象的src属性只反映初始定义的URL,不随iframe内文档地址的变化而变化。在跨域的情况下,外部文档虽然能获取iframe内的window对象,但该window对象的location值是空的。
这个问题的本质就是获取查询字符串的值。只需要在1html页面中写一个函数来获取就行了。
下面提供一个getQueryStringArgs函数,用来获取查询字符串。
1html页面:
<head>
<title>页面 Page 1</title>
<script type="text/javascript">
function getQueryStringArgs(){
//取得查询字符串并去掉开头的问号
var qs=(locationsearchlength>0locationsearchsubstring(1):"");
//保存数据的对象
var args={};
//取得每一项
var items=qssplit("&");
var item=null,
name=null,
value=null;
//逐个将每一项添加到args对象中
for(var i=0;i<itemslength;i++){
item=items[i]split("=");
name=decodeURIComponent(item[0]);
value=decodeURIComponent(item[1]);
args[name]=value;
}
return args;
}
//开始获取值
var args=getQueryStringArgs();
//alertd出name的值,当然你也可以赋值给页面上的元素,怎么用就看业务需求了
alert(args["name"]);
</script>
</head>
以上就是关于关于iframe中获取页面元素的问题全部的内容,包括:关于iframe中获取页面元素的问题、iframe子页面中获取父页面元素的值、iframe框架中的页面如何获取到服务器端或客户端父级页面的地址啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)