作者xrancyma (…杨天淳…)
看板Ajax
标题Re: [问题] 请问 html/javascript 取出跨域网页内容
时间Fri Feb 20 01:57:09 2009
※ 引述《xrancyma (…杨天淳…)》之铭言:
> 请问如何用 html/javascript 取出跨域网页内容?
> Google 相关资讯後,发现 HttpRequest 大概不行,
> 有人建议我使用後端来取出,不过我是希望能够直接用 javascript 取出。
> 请问有人在 Firefox 上成功使用 html/javascript 取出跨域的网页内容吗?
> 要能读取 innerHTML 的。
推 SansWord:我记得javascript不能跨网域是安全机制~
→ xrancyma:…就是想绕过安全机制啊…XD
→ xrancyma:不过,为什麽这是一种安全机制啊?
推 KiroKu:用iframe然後把里面东西抓出来?
推 buganini:你可以用javascript去抓别网域的东西的话
→ buganini:你就可以代替使用者作任何动作了 包然改密码
→ fillano:嗯?如果是要求在Firefox上,要不要试一下GreaseMonkey?
推 SansWord:应该说你网页还是可以这样写
→ SansWord:不过你要把browser的那个设定打开
→ SansWord:要不然一般的browser都不会允许浏览网页上的js 跨网域
→ SansWord:我有点忘记细节了啦....回去翻翻讲义....
~谢谢大家提供的宝贵意见~不过在下不眠不休的尝试了很久,先讲一下心得:
1. 其实我想要的是撷取其他网站的内容,例如说 Yahoo 首页有哪些连结等等,
所以我需要的是 contentDocument 的内容,而不是仅仅只能汇入 script 档案。
---- 谢谢 SansWord 版友
2. IFrame 这个部份我也是尝试了很久,不知道是我的技巧不到家还是说真的没办法,
document.getElementById("theFrame").contentDocument
上面这个东西 alert 出来还会显示他是个 Document,
但是完全取不出他任何属性或内容,版友 SansWord 说可以把这个设定打开,
请问选项在哪儿。
---- 谢谢 KiroKu、SansWord 版友
3. 跨网域可能真的会有风险,但是除非别人连线到恶意网站,
不然怎麽帮别人改帐号密码呢?不过光是这点就实在是有够危险的了。
---- 谢谢 buganini 版友解说
4. 感觉上 GreaseMonkey 这个包就是专为跨网域而设计的,
这真是太好了,刚好符合在下所需。虽然还没开始试试看,但是非常期待!
---- 感谢 fillano 提供宝贵资讯
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.56.185.102
2F:推 wxyy:"油猴子" 必须使用者安装才能使用, 不能够使用在网页上面... 02/20 16:22
3F:→ xrancyma:…汝…嗯… 02/20 17:13
4F:推 KiroKu:contentDocument物件就类似document..ie就直接写成document 02/20 17:47
5F:推 blackbing:serverj端写一只proxy去接就解决跨网域啦~ 02/21 01:21