js电信网通双线自动选择技巧


Posted in Javascript onNovember 18, 2008

我们且不谈论所做产品的初期发展用户人群因为这没有多大意义,如果你定位为学生,那么根据我们自身大学四年的经验,同学中间用电信、校园网的比例基本上变数太大。
值得庆幸的是,现在我们已经实现电信、网通双线北网通、南电信是我们国家的一个特色。更甚至07年春节爆出电信与网通内部协议,内容大概是南北互不侵犯各自的领域。因此,如果要立足做一个成功的互联网产品,必须不要管用户来自于哪里,用的什么网络环境。这最后的解决方案就是电信、网通双线。还有个间隙--校园网,比较好的是校园网跟网通有很宽的光纤直连,物理环境可以用米来解决。

技术处理

<img src="https://3water.com/direct" width="1" height="1" onerror="Javascript:top.location='https://3water.com'"> 
<img src="http://cnc.3water.com/direct" width="1" height="1" onerror="Javascript:top.location='http://cnc.3water.com'">

这是电信、网通自动选择的核心代码,天哪,太神奇了,竟然是js实现的。

解释: src里边放的是一个不存在的地址,这样2个img打开的时候都会出错,都会触发onerror事件,但是你的浏览器对这2个img加载、判断出错有个先后顺序,而这个先后顺序取决于你的浏览器去连2个url的快慢程度,这就表现为http请求两个域名的快慢。假如你是校园网或者网通,同时去连3water.com(这个域名是绑定到电信的一个ip)、cnc.3water.com(这个域名是绑定到网通的一个ip)

当然就会先触发onerror="Javascript:top.location='http://cnc.3water.com'"

这样就打开了http://cnc.3water.com

电信同理,最后就实现了校园网、网通用户打开的是https://3water.com/drect,电信用户打开的是https://3water.com/direct

Javascript 相关文章推荐
Extjs Ajax 乱码问题解决方案
Apr 15 Javascript
关于JavaScript与HTML的交互事件
Apr 12 Javascript
动态加载jquery库的方法
Feb 12 Javascript
用Jquery选择器计算table中的某一列某一行的合计
Aug 13 Javascript
简单学习JavaScript中的for语句循环结构
Nov 10 Javascript
js实现select二级联动下拉菜单
Apr 17 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
Jun 15 Javascript
自制微信公众号一键排版工具
Sep 22 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
在一般处理程序(ashx)中弹出js提示语
Aug 16 Javascript
详解项目升级到vue-cli3的正确姿势
Jan 28 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
Aug 06 Javascript
JavaScript脚本性能优化注意事项
Nov 18 #Javascript
javascript 字符串连接的性能问题(多浏览器)
Nov 18 #Javascript
js的闭包的一个示例说明
Nov 18 #Javascript
Ext面向对象开发实践(续)
Nov 18 #Javascript
Javascript打印网页部分内容的脚本
Nov 17 #Javascript
js实现简单模态窗口,背景灰显
Nov 14 #Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
Nov 14 #Javascript
You might like
提高PHP编程效率 引入缓存机制提升性能
2010/02/15 PHP
ASP SQL防注入的方法
2008/12/25 Javascript
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
js中url对象化管理分析
2017/12/29 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python 不同对象比较大小示例探讨
2014/08/21 Python
python基础教程之五种数据类型详解
2017/01/12 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
Python字符编码与函数的基本使用方法
2017/09/30 Python
python中scikit-learn机器代码实例
2018/08/05 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
python实现静态web服务器
2019/09/03 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
浅析Python requests 模块
2020/10/09 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
2019/01/18 HTML / CSS
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
音乐教育感言
2014/03/05 职场文书
地下停车场租赁协议范本
2014/10/07 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript
nginx共享内存的机制详解
2022/03/21 Servers
Go语言的协程上下文的几个方法和用法
2022/04/11 Golang
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS