我要在一个网页里面显示另一个网页的某一部位该怎么做?
我现在是在A网页的HTML里面加了个iframe标签,然后用iframe的src属性链接到另一个B网页要显示的网页地址,但是问题是得到的效果是在A里面iframe这里显示了B网页的整个网页。我只需要B网页的某一部位,比如这部位里上边距100px,离左边距300px,我只需要这一部位的网页内容,我该用iframe什么属性来设置?
或者说这个需求根本不能用iframe来做的,必须用其他技术?请各位大神说详细点。谢谢!
补充下 我要的是B网页的某一部位位置!!!!!这个需求难就难在这里!!!!!
在补充下 B网页是外网人家的网站,我不能改动B网页的代码!比如B网页是新浪天气,我只需要显示天气预报的那一区域的网页内容!!!!!!我到处都百度不到答案啊!!!!!!!求大神!!!!!!!!!!
魔法师找妹子
10 years, 11 months ago
Answers
可以先用php等语言抓页面过来,如
@Oishi
的答案,然后利用jQuery的
.load()
事件,比如你要获取的是
<div id="weather"></div>
部分的代码,要添加到
<div id="show"></div>
的部分上去,则你可以这样写:
后端先抓取页面(
@Oishi
的代码):
//php文件假设为weather.php <?php $homepage = file_get_contents('http://www.example.com/'); echo $homepage; ?>
然后在显示的页面
$('#show').load('weather.php #weather'); //文件名后头跟的#weather是关键,直接利用CSS选择器筛选出你要的部分
这样就可以了,jQ的CSS选择器还是比较强大的,应该能满足你的需求。
我用的测试代码,给你参考一下吧。首先是PHP文件,假设为api.php:
//做成API的形式直接api.php?q=关键词即是百度页面 <?php $url = "http://www.baidu.com/s?wd=".$_GET['q']; $curl = curl_init($url); curl_exec($curl); curl_close($curl); ?>
前端页面代码
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.0/jquery.min.js"></script> <script> $(function() { $('body').load('api.php?q=segmentfault #container'); }); </script>
p.s.请认认真真的把我的代码测试一下,测试完了再来发表您的高论吧。在我看来,你的那些个看法都是滑稽可笑的,我都放出测试代码了,你只要复制一下这样你都不愿意做么。
HX小说家
answered 10 years, 11 months ago