js中怎么得到iframe中的元素

js中怎么得到iframe中的元素,第1张

跪求高手解决啊:现在我的一个项目:需要链接一个别人的页面(不在同一个域),我把这个页面装到我的Iframe里面,但是别人的这个页面是:采用post提交的,我想在我的项目里面监视他的提交,来截取这个post的数据,不通过监视也行,只要获取这个数据就行(jquery的跨域请求只能获取:get方式提交的数据啊,post不行),我把分全部奉上了啊,,

可以通过 windowtopframes 先获取全部 frame,在你的例子中有两个 frame

windowtopframes[0]:left

windowtopframes[1]:main

获得两个 frame 后就可以像平常一样获取页面元素

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>

你这个iframe 有ID 应该很好获取,你仔细观察一下是不是存在着嵌套iframe 的情况,即一层里面还有一层。如果没有这种情况直接用ID 取。

var uObj =  windowframes["_login_frame_quick_"]documentgetElementById("u");

我觉得,如果iframe内嵌套的网页中的dom元素可以被获取,呢是一件很危险的事,因为我如果使用irame嵌套别人的网页,并在自己的网页中获取到多方网页的的节点,呢不是想怎么 *** 作就怎么 *** 作了,,,不知道这种想法对不对!!!!!!!!

浏览器有同源策略的限制,跨域是无法做到的。之前我们有个项目的经理出提出过这个需求,但后来还是放弃了。

因为,你可以换另一个角度来思考,如果可以让javascript跨域读取iframe内容的话,会造成很严重的安全问题。比如我可以在我的页面中套一个iframe,内嵌你的微博、京东等账号,然后用javascript读取你的用户信息、甚至是敏感的安全信息,多可怕。

经测试:

一。找子窗口中的元素,用contents()find()的方法可以实现。

比如:

var w=$("#bb")contents()find("#c")contents()find("#ni")html();

找到当前页面中id为bb的iframe下的id为c的iframe下的id为ni的html()

二。找父窗口中的元素,用:

 var a=$(windowparentdocument)find("p");

 找到父元素中的p标签元素

以上就是关于js中怎么得到iframe中的元素全部的内容,包括:js中怎么得到iframe中的元素、关于iframe中获取页面元素的问题、怎么获取iframe里面的元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9280227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存