只有 当iframe里的页面和当前页面 处在同一个域下时才可以
$($('#A')prop('contentWindow')document)find("#B");
这样你试试
第一句能运行你可以理解为历史遗留问题, 早年没有标凖各个浏览器都有自己的一套设计, 某些就被保留下来了, 即使不属於W3C标凖
这里恰好你的浏览器把myFrame这个[name]与它的window对象关联了, 你再给它个id试试, 可能结果就不一样了(不同浏览器略有差异)
第二条不能运行首先是因为你使用的是getElementsByTagName, 而你应该使用的是getElementsByName, 因此documentgetElementsByTagName("myFrame")就没有获取到[name=myFrame]这个DOM对象 其次正如你理解的, 这个是个DOM对象, 而不是它的window对象
你需要
documentgetElementsByName("myFrame")[0]contentWindowdocument
这个contentWindow是W3C标凖中的, 所以请放心使用
浏览器有同源策略的限制,跨域是无法做到的。之前我们有个项目的经理出提出过这个需求,但后来还是放弃了。
因为,你可以换另一个角度来思考,如果可以让javascript跨域读取iframe内容的话,会造成很严重的安全问题。比如我可以在我的页面中套一个iframe,内嵌你的微博、京东等账号,然后用javascript读取你的用户信息、甚至是敏感的安全信息,多可怕。
<iframe src=">
var n=documentgetElementById("ifcccc")contentWindowdocumentgetElementById("dddddddddddd")name
跪求高手解决啊:现在我的一个项目:需要链接一个别人的页面(不在同一个域),我把这个页面装到我的Iframe里面,但是别人的这个页面是:采用post提交的,我想在我的项目里面监视他的提交,来截取这个post的数据,不通过监视也行,只要获取这个数据就行(jquery的跨域请求只能获取:get方式提交的数据啊,post不行),我把分全部奉上了啊,,
首先你要能获取到这个iframe的dom对象,假设我们知道它的ID;
var frame = documentgetElementById("ueditor_0");
var frameDocument = framecontentWindowdocument;
iframe中的document对象拿到了,后边如何获取你想要的元素就很简单了吧。
以上就是关于jquery如何获取iframe中的元素全部的内容,包括:jquery如何获取iframe中的元素、关于js iframe获取父子页面中元素和的小迷惑。望大神指点迷津,小弟不胜感激!、如何用javascript 跨域获取iframe子页面的元素信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)