首页 新闻 会员 周边 捐助

[求助]jquery跨域获取iframe里面的内容

0
悬赏园豆:20 [待解决问题]

功能:用一个文本框接收输入的值并传递给iframe中,用str来接收iframe里面的html内容,并成功弹出str的值。

html代码如下:

<iframe src="" name="mainFrame" id="mainFrame" /></iframe>
<input type="text" name="lj" value="" ><!--用于接收网址后将网址传递给iframe-->

jquery库用的是1.8.3的,

<script type="text/javascript" src="http://www.yilingsj.com/skin/yilingsj/js/jquery-1.8.3.min.js"></script>
<script>
$(function(){
$('input[name="lj"]').blur(function(){
  $('iframe').attr('src',$(this).val());/*获取当前输入框的值并将值传递给iframe*/
  //str=iframe里面的html内容; //这里不知道怎么写,网上找的全是错误的,弹不出iframe里面的内容!!!
  alert(str);
});
});
</script>

在网上找了好多都不能用,求大神

问题补充:

补充说明一下:比如说,我在输入框里面输入百度首页的地址,此时iframe可以加载,现在用str来接收iframe里面的html。总之我就是想获取一个网页的所有html内容,求大神帮忙,谢谢

繁华已逝的主页 繁华已逝 | 菜鸟二级 | 园豆:353
提问于:2014-08-21 09:16
< >
分享
所有回答(3)
0

使用contents()方法。

 

$("#myiframe").contents().find("#myContent")

XiaoFaye | 园豆:3087 (老鸟四级) | 2014-08-21 09:45

 不行的,我在网上找了很多,大部分都是只弹出个“undefind”,有的只能弹出<head></head><body></body>却不能弹出完整的信息,建议大神在以后帮别人回答问题请亲自测试下结果再回复,谢谢

支持(0) 反对(0) 繁华已逝 | 园豆:353 (菜鸟二级) | 2014-08-21 10:13

@繁华已逝: 

这是官方推荐的方法,至于为什么不行,还可以有其它原因存在,建议你查下其它问题。

支持(0) 反对(0) XiaoFaye | 园豆:3087 (老鸟四级) | 2014-08-21 10:26

@XiaoFaye: 不知道是不是因为跨域导致失效

支持(0) 反对(0) 繁华已逝 | 园豆:353 (菜鸟二级) | 2014-08-21 15:40
0

这是不能实现的,因为浏览器的跨域问题阻止了,即使用 ajax都不行。

两种方案:

1.IE8,上述页面是保存成html使用ie8打开,上述代码可以生效,因为本地文件没有域,测试过IE8有效,但是效率低下,大量运行后容易卡死

2.通过服务器中间件做代理,如IIS,该方案比较可行

wlm2014 | 园豆:208 (菜鸟二级) | 2014-08-21 09:46

感觉ie8不是很好的办法,低版本ie打开页面的速度本来就慢,

IIS的话,如果自己没有网站那也就配置不了,

我在网上找到了一个http://www.gbtags.com/technology/javautilities/20120720jsoupjquerysnatchpage/

但是不知道为什么案例点击是无效的,纠结。。。。

其实我的要求很简单,就是想获取一个页面中某一小块源码,不知道不用iframe还有其它标签可以实现功能不

支持(0) 反对(0) 繁华已逝 | 园豆:353 (菜鸟二级) | 2014-08-21 10:17

@繁华已逝: 纯js脚本,不靠服务器做中间代理的话那是不可能的,因为这是浏览器的安全机制啊。

支持(0) 反对(0) wlm2014 | 园豆:208 (菜鸟二级) | 2014-08-21 10:31
0

你的应该是跨域的,所以获取不了

nater216 | 园豆:229 (菜鸟二级) | 2014-08-21 15:35

对啊,就是要跨域获取页面内容。

支持(0) 反对(0) 繁华已逝 | 园豆:353 (菜鸟二级) | 2014-08-21 15:39

@繁华已逝: 这是IFrame的Same Origin Policy 的安全限制。如果你对Iframe的内容没有控制的话(比较写JS在Iframe中),这基本上是实现不了的,死心吧,少侠。

支持(0) 反对(0) nater216 | 园豆:229 (菜鸟二级) | 2014-08-21 15:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册