V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wanttte
V2EX  ›  问与答

连跨域都不能, web 凭啥颠覆 native app?

  •  
  •   wanttte · 2017-03-18 21:45:50 +08:00 · 4852 次点击
    这是一个创建于 2810 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想在页面调用一个网站的公共 Api ,结果提示不能跨域。 还有网站是 https 协议,如果 Api 是 http 的,也不行。

    native 可以做的很多事情, web 根本做不了嘛。

    32 条回复    2017-03-20 07:42:50 +08:00
    airyland
        1
    airyland  
       2017-03-18 21:52:34 +08:00   ❤️ 1
    建议你再了解了解。。
    mewpoi
        2
    mewpoi  
       2017-03-18 21:54:13 +08:00 via iPhone
    这是三个月培训出来的萌新吧…培训老师水平有待提高
    isCyan
        3
    isCyan  
       2017-03-18 21:54:28 +08:00
    sunorg
        4
    sunorg  
       2017-03-18 22:34:47 +08:00 via iPhone
    跨域不行,感觉要做坏事才遇到
    seeker
        5
    seeker  
       2017-03-18 22:41:19 +08:00   ❤️ 1
    整天叫嚣颠覆这颠覆那的,多半不是媒体就是水货
    ck65
        6
    ck65  
       2017-03-18 22:43:01 +08:00 via iPhone
    这届 Web 不咋行啊。
    ByZHkc3
        7
    ByZHkc3  
       2017-03-18 23:02:29 +08:00
    自己菜怪 web ?
    jybox
        8
    jybox  
       2017-03-18 23:02:51 +08:00
    @isCyan 楼主是说调其他网站的 API ,如果对方不让调确实是毫无办法

    然后回复楼主,跨域和 HTTP 都是安全方面的限制,正因为有这样的限制,才可以做到随便打开一个网页而不必担心被运行恶意代码。这是一个程度问题,移动应用一样跑在沙盒里面,很多桌面软件能做的事情移动应用也做不了。
    rashawn
        9
    rashawn  
       2017-03-18 23:04:50 +08:00 via iPhone   ❤️ 7
    web 还不能撒尿的 不得给我憋死
    johnny23
        10
    johnny23  
       2017-03-18 23:54:25 +08:00 via iPhone
    自己写后台封装成 jsonp 嘛
    zwh8800
        11
    zwh8800  
       2017-03-19 00:08:35 +08:00 via iPhone
    都 web 了,总得有个 nginx 服务器吧,在 nginx 上配个转发也就 1 分钟的事
    imswing
        12
    imswing  
       2017-03-19 00:08:47 +08:00 via Android
    @jybox 他说的公共 API ...
    Biwood
        13
    Biwood  
       2017-03-19 00:11:45 +08:00
    web 又不仅仅是指前端页面,浏览器页面无法直接跨域请求,但是你可以在自己的服务器后端程序上请求数据啊,无非多了个转发过程而已。
    lyragosa
        14
    lyragosa  
       2017-03-19 00:19:42 +08:00
    说得好像 web 只有 clinet 端一样
    SourceMan
        15
    SourceMan  
       2017-03-19 00:27:14 +08:00 via iPhone   ❤️ 1
    好好好,你开心就好
    楼下同志要是想跟知识层次不在一起的人辩论,就差劲啦
    RobertYang
        16
    RobertYang  
       2017-03-19 00:44:07 +08:00 via Android
    我怎么没有理解到这和 native 或者 web app 有什么关系
    paradoxs
        17
    paradoxs  
       2017-03-19 01:05:40 +08:00 via iPhone
    不能颠覆的唯一原因是不能推送而已,别的不用想太多。
    wc951
        18
    wc951  
       2017-03-19 01:30:27 +08:00
    前端直接跨域调用有 jsonp 和 cors ,不过都需要服务端支持
    自己写个后端去代理请求不管 http 还是 https 随便都能调,后端可没跨域限制,除非对方服务端有访问限制
    服务端推送好像 html5 的 websocket 能干,不知道效率怎么样
    leafx
        19
    leafx  
       2017-03-19 01:49:55 +08:00 via iPhone
    心疼楼主
    dongoo
        20
    dongoo  
       2017-03-19 02:05:34 +08:00 via Android
    native 是开发者说了算, Web 是客户端说了算!

    想跨域,不行,想自签证书,不行
    coderfox
        21
    coderfox  
       2017-03-19 08:17:54 +08:00 via Android
    跨域(没有服务器支持)可以用新的 Fetch API 。
    Cbdy
        22
    Cbdy  
       2017-03-19 09:58:12 +08:00 via Android
    @paradoxs long-polling, server-sent event, websocket 等。明明推送技术这么多
    yimity
        23
    yimity  
       2017-03-19 10:52:57 +08:00
    建议多看书。
    paradoxs
        24
    paradoxs  
       2017-03-19 12:04:46 +08:00 via iPhone
    @Cbdy apns gcm
    zzzreg
        25
    zzzreg  
       2017-03-19 12:14:43 +08:00 via iPhone
    @paradoxs service worker 可以支持 gcm ,可惜支持度有限
    wanttte
        26
    wanttte  
    OP
       2017-03-19 18:08:58 +08:00
    仔细看题,认真回答的很少,上来就喷的倒挺多。
    hst001
        27
    hst001  
       2017-03-19 21:50:02 +08:00
    多读书少抱怨
    jsq2627
        28
    jsq2627  
       2017-03-19 21:56:21 +08:00
    web 唯一短板是性能,目前可以期待一下 WebAssembly 。其他问题都是一个桥就能解决的。
    caola
        29
    caola  
       2017-03-19 23:50:51 +08:00
    web app 应用基于 html5 有很多局限性,只能用于代替一些功能简单的应用,优点是 web 的更新非常方便,开发成本低。

    如果是很少功能的应用,有多少用户愿意安装?,又会有多少用户用经常使用?

    所以一些功能 web app 可以完全实现并满足需求的,为什么还要 native app ?
    wanttte
        30
    wanttte  
    OP
       2017-03-20 07:40:47 +08:00
    @caola 所以我的问题就在这里,现在号称未来 web 会慢慢取代 native ,如果 web 永远是这个样子,谈何取代?这是我开的新帖,更能表达我的意思: https://www.v2ex.com/t/348639#reply0
    wanttte
        31
    wanttte  
    OP
       2017-03-20 07:41:45 +08:00
    @jsq2627 web 基于浏览器,如果浏览器的安全模型不改,还是不允许跨域,怎么办?这是我开的新帖,更能表达我的意思: https://www.v2ex.com/t/348639#reply0
    wanttte
        32
    wanttte  
    OP
       2017-03-20 07:42:50 +08:00
    @hst001 仔细看帖。这是我开的新帖,更能表达我的意思: https://www.v2ex.com/t/348639#reply0
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6071 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:18 · PVG 14:18 · LAX 22:18 · JFK 01:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.