V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
clino
V2EX  ›  JavaScript

JavaScript 里能够预读取一个网址,然后装载页面内容,并设置当前url为预读取的网址吗?

  •  
  •   clino · 2012-02-15 10:29:22 +08:00 · 5255 次点击
    这是一个创建于 4695 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我是JS菜鸟,边找手册边来这里问下.谢谢!
    21 条回复    1970-01-01 08:00:00 +08:00
    NemoAlex
        1
    NemoAlex  
       2012-02-15 10:43:23 +08:00
    不能
    clino
        2
    clino  
    OP
       2012-02-15 10:45:24 +08:00
    我看来看去也找不到办法,预读这种东西只好在浏览器这边想办法了?
    sobigfish
        3
    sobigfish  
       2012-02-15 10:46:17 +08:00 via iPad
    @NemoAlex 直接iframe算不算?
    NemoAlex
        4
    NemoAlex  
       2012-02-15 10:54:17 +08:00
    省省吧,花样早就都被骗子网站研究透了
    没听说过的花样肯定没法实现


    @sobigfish 直接iframe当然可以,但是有什么用?不过也要看被你iframe的网站是不是做了一些反iframe的工作
    qiayue
        5
    qiayue  
       2012-02-15 10:55:59 +08:00
    这样的算不算?
    http://www.ifjob.org/baidu.php

    URL地址是我的地址,看到的内容却是从百度实时抓取过来的
    sobigfish
        6
    sobigfish  
       2012-02-15 10:57:00 +08:00 via iPad
    @NemoAlex 楼主貌似没那么多乱七八糟的需求,他就是想预读页面啊
    HowardMei
        7
    HowardMei  
       2012-02-15 11:01:51 +08:00
    @qiayue 这个是用的 Content Mirror吗,话说访问者一多,百度就会将这个异常活跃的服务器ip封掉吧。这几天不知怎么回事,在ubuntu下用firefox搜技术文档,老是遇到google search的captcha,烦死了,其实我用的频率很低呀,不知为何被检测到流量异常,怀疑被肉鸡了,但拿chkrootkit查也没查到问题,好怪异。
    bitsmix
        8
    bitsmix  
       2012-02-15 11:08:24 +08:00
    @HowardMei 你是不是挂代理了?
    qiayue
        9
    qiayue  
       2012-02-15 11:19:03 +08:00
    @HowardMei
    我不懂Content Mirror
    我只用了下面几行代码
    <?php
    $con = file('http://www.baidu.com/');
    echo implode('', $con);
    ?>
    lfeng
        10
    lfeng  
       2012-02-15 11:42:38 +08:00
    @qiayue 楼主说的是JavaScript的解决方案,您整的是PHP
    qiayue
        11
    qiayue  
       2012-02-15 11:58:58 +08:00
    @lfeng sorry,我看错了
    xinkiang
        12
    xinkiang  
       2012-02-15 12:15:42 +08:00
    可以在服务器端读,然后通过Ajax从服务器获取
    bigdude
        13
    bigdude  
       2012-02-15 13:25:26 +08:00
    @qiayue 这种一碰到页面中带相对地址的url就出问题了
    wptree
        14
    wptree  
       2012-02-15 13:27:36 +08:00
    “装载页面内容”,是通过http协议传输内容的,这需要在服务器端来做。js可以做到无刷新动态显示。
    clowwindy
        15
    clowwindy  
       2012-02-15 13:45:41 +08:00 via iPhone
    同域名可以,跨域名不行
    clino
        16
    clino  
    OP
       2012-02-15 13:45:46 +08:00
    @qiayue @sobigfish @NemoAlex 汗,其实我想要的效果是 UCWeb 读小说时候自动预读"下一页"的那种效果,节省用户等待时间,在客户端做固然可以,但如果服务器端就能完成就更省事啦,所以才想看用 javascript 能不能完成.

    @xinkiang 说的比较可行,不过还不会 ajax,要学习一下. @wptree 说的应该也是这个意思吧?
    clino
        17
    clino  
    OP
       2012-02-15 13:47:08 +08:00
    @clowwindy 我想要的就只是同域名的,你说的还是 ajax 方式吧?
    NemoAlex
        18
    NemoAlex  
       2012-02-15 13:51:36 +08:00
    @clino 如果是本站的话还是很容易的,XMLHTTPRequest 得到内容,url 可以用 HTML5 History API 做出更改
    可以实现
    HowardMei
        19
    HowardMei  
       2012-02-16 21:59:30 +08:00
    @bitsmix 没有啊,windows下面好好的,ubuntu下经常出现,搞得很郁闷。
    happymore
        20
    happymore  
       2012-02-17 10:52:07 +08:00
    history 的 pushstate 方法可以实现,不过属于 HTML5 范畴;

    有个基于 jQuery 的 js,https://github.com/defunkt/jquery-pjax

    github 上就是用了这个
    happymore
        21
    happymore  
       2012-02-17 10:53:45 +08:00
    @HowardMei 把 google 的网页都走 https 线路,可减少很多重置状况
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1254 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:54 · PVG 01:54 · LAX 09:54 · JFK 12:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.