如何用 JS 写一个嵌在网页里的浏览器?

2016-03-01 21:30:50 +08:00
 ilt677

如题,我现在只会用 iframe ,但这样的话太单一了,比如,我百度了某些东西,点击搜索出来的结果,就会跳出另一个网页,有没有办法可以在 iframe 里弄一个标签页,每当点击链接就自动出现在标签页里?
我是初学者,请大家帮帮忙

2941 次点击
所在节点    JavaScript
14 条回复
learnshare
2016-03-01 22:01:26 +08:00
应该使用后端来处理,也就是代理模式。前端会遇到很多问题
ilt677
2016-03-01 22:28:13 +08:00
@learnshare 十分感谢~
Mutoo
2016-03-01 22:32:07 +08:00
修改 <a> 标签的 target 属性,指定 iframe 去打开页面就行了。
http://www.w3school.com.cn/tags/att_a_target.asp
ilt677
2016-03-01 23:08:14 +08:00
@Mutoo 我的意思是 比如说 我在 iframe 里百度了 V2EX , 然后打开 V2EX 能不能在这个 iframe 里打开,相当于在这个 iframe 里点一个链接,还是在这同一个 iframe 里显示
guokeke
2016-03-01 23:51:20 +08:00
如果是我的话,不用 iframe ,后端获取每个 URL 对应的 HTML 并分析出 script 和 style 和去掉多余的东西(自己斟酌吧,尤其是 head 里的一坨坨),然后用 ajax 加载到自己的页面。
Mutoo
2016-03-01 23:52:00 +08:00
@ilt677 修改 iframe 中搜索结果的 <a> 让 target="_self" 即可
hxsf
2016-03-01 23:58:45 +08:00
搜一下<base target="iframe-name" />
yeyeye
2016-03-02 00:09:34 +08:00
如果是纯 JS ,别想做到,不要想了,做不到的。如果考虑后台中转,用袋里的方式可以做,但是耗费后台资源,没谁这么干的,就是伟大的腾讯也不敢这么玩(以前 webqq 就有做类似浏览器,其实也就是个 iframe ,你这想法十几年前大家就在想了,谁都做不到,除非用袋里的方式替换 target 标签,否则免谈)

如果你非要问一句为什么的话,我简单告诉你,浏览器有安全策略,是不会允许你在你的网站去随意操作别人的网站
yeyeye
2016-03-02 00:11:19 +08:00
哦对了,你还可以内嵌插件的方式实现,这也是可行的,你可以开发 IE 插件, Chrome 插件, Firefox 插件来实现,但是这样用户必须先装你的插件……
crafteverywhere
2016-03-02 01:50:31 +08:00
crafteverywhere.github.io/Webhacking_ludumdare34/ 这个就是拿 iframe 实现的。
iyangyuan
2016-03-02 09:12:06 +08:00
js 在浏览器端的限制越多,控制越细,浏览器就越安全,所以几乎没有可能做跨域的操作,除非楼主自己开发一款浏览器😎
samuraime
2016-03-02 09:36:04 +08:00
target
yuriko
2016-03-02 10:12:15 +08:00
浏览器里不用 iframe 的话,访问其他页面有很多限制。
主要就是跨域操作问题,通过 ajax 访问其他域名的时候限制很多,不少操作都要对方网站配合修改。
作为一个在上面浪费过不少时间的人表示,换个姿势吧……
ilt677
2016-03-04 15:14:30 +08:00
@guokeke 十分感谢 但是我是个初学者 ajax 和后端都不怎么会

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/260330

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX