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 相关文章推荐
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
js时间日期和毫秒的相互转换
Feb 22 Javascript
文件编码导致jquery失效的解决方法
Jun 26 Javascript
Node.js开发指南中的简单实例(mysql版)
Sep 17 Javascript
在Linux上用forever实现Node.js项目自启动
Jul 09 Javascript
iframe调用父页面函数示例详解
Jul 17 Javascript
jQuery dateRangePicker插件使用方法详解
Jul 28 jQuery
仿京东快报向上滚动的实例
Dec 13 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
Aug 13 Javascript
vue项目中实现的微信分享功能示例
Jan 21 Javascript
Vue项目中ESlint规范示例代码
Jul 04 Javascript
聊聊Vue中provide/inject的应用详解
Nov 10 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
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
PHP4.04简明安装
2006/10/09 PHP
php 不同编码下的字符串长度区分
2009/09/26 PHP
教你如何使用php session
2013/10/28 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
2016/05/12 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
python进程与线程小结实例分析
2018/11/11 PHP
PHP7 list() 函数修改
2021/03/09 PHP
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
Python configparser模块应用过程解析
2020/08/14 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
怎样声明接口
2014/09/19 面试题
青年教师培训方案
2014/02/06 职场文书
模范家庭事迹材料
2014/02/10 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
职务聘任书范文
2014/03/29 职场文书
借名购房协议书范本
2014/10/06 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
《观潮》教学反思
2016/02/17 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
聊聊redis-dump工具安装问题
2022/01/18 Redis