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

用简单的 demo 学习各种跨域

  •  
  •   xuhaodong66 2018-01-16 17:38:17 +08:00 2890 次点击
    这是一个创建于 2903 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    因为学习跨域需要配置本地服务器,可能会比较麻烦,所以自己根据网上的博客写了大多数跨域的简单 demo,可以自己在本地运行,而且不用配置服务器。自己对于跨域的理解刚开始也仅仅在于网上的博客文章,通过写这些可以本地运行的 demo 让我对跨域有了更直面的理解,希望这些 demo 对你们有帮助,有错误的话欢迎指正,欢迎 PR。

    github 地址: https://github.com/FatDong1/cross-domain

    多种跨域 demo

    • CROS 跨域

    • JSONP 跨域

    • postMessage 跨域,html5 新 API

    • window.name 跨域

    • location.hash 跨域

    • document.domain 跨域

    • 后端 proxy 代理跨域

      • demo1,通过使用 http-proxy-middleware 插件设置后端的代理

      • demo2,不使用插件去配置代理,更加原生地解释了 proxy 跨域的原理

    • websocket 跨域

    优点

    • 通过本地运行 demo,可以快速理解多种跨域。

    • demo 简单易懂,内附许多注释。

    • 学习门槛低。

    原理

    通过 nodeJS 的 express 框架在 3000 端口和 3001 端口分别生成服务器,在 3000 端口和 3001 端口进行跨域访问。

    学习建议

    在学习其中一种跨域方法的时候,建议边运行项目里的 demo,边在网上搜索博客文章学习这种跨域方法,这样有助于快速并且深入理解跨域。鉴于网上有很多文章详细讲述跨域知识,只是少了可以本地运行的 demo,所以这里就不再赘述跨域知识。

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1017 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 23:33 PVG 07:33 LAX 15:33 JFK 18:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86