javascript - 本地webapp是怎么解决跨域问题的?
大家讲道理
大家讲道理 2017-04-11 09:09:15
0
3
400

像ionic的cli,都可以把一个ionic的webapp打包成本地的,那这样的话是如何解决跨域问题的?

在PC上,我直接访问连接获取数据,代码如下。(抄自W3School)

   

AJAX

在浏览器输入“file:///C:/Users/WINFIELD/Desktop/localinvoke/index.html”进行访问这个页面
在普通浏览器里点击按钮,是会发生跨域提示的,在设置了允许跨域的Chrome浏览器,数据可以正常返回,我理解的ionic打包(比如说打包成apk),肯定不会在这个apk里自带一个httpserver,那么应该也是类似于用这种文件路径的形式进行访问的,那么它如何解决跨域的问题的呢?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua (3)
左手右手慢动作

浏览器才存在跨域问题,而且浏览器是bs中的b端,和服务器没啥关系,js打包为原生应用无非是有个浏览器运行环境,也许直接关了跨域安全设置,也许和浏览器完全一样

    大家讲道理

    楼上说到了,跨域是浏览器定的规则,PC端的浏览器大多都通过了同源策略(可能某些可怕的浏览器没有设置,如果真有应该是功能缺陷吧)。
    但是移动端的网页是通过webview实现的,而webview实际上是通过file://协议来加载的网页(即:请求网页——网页到本地——webview加载),这个协议一般的移动端浏览器就没有实行同源策略了。

      黄舟

      根据我自己用appcan/apicloud的经验,这些壳会提供类似ajax的js api,但实际上并不走xhr,所以也就更谈不上什么同源策略了。

        Muat turun terkini
        Lagi>
        kesan web
        Kod sumber laman web
        Bahan laman web
        Templat hujung hadapan
        Tentang kita Penafian Sitemap
        Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!