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 相关文章推荐
能说明你的Javascript技术很烂的五个原因分析
Oct 28 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
Apr 14 Javascript
jQuery动态添加 input type=file的实现代码
Jun 14 Javascript
node.js中的path.basename方法使用说明
Dec 09 Javascript
javascript实现回车键提交表单方法总结
Jan 10 Javascript
jQuery实现的支持IE的html滑动条
Mar 16 Javascript
VueJS全面解析
Nov 10 Javascript
详解webpack打包第三方类库的正确姿势
Oct 20 Javascript
详解Node.js中path模块的resolve()和join()方法的区别
Oct 29 Javascript
vue-cli 3.x配置跨域代理的实现方法
Apr 12 Javascript
使用webpack编译es6代码的方法步骤
Apr 28 Javascript
django js 实现表格动态标序号的实例代码
Jul 12 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
解析dedecms空间迁移步骤详解
2013/05/15 PHP
PHP实现事件机制的方法
2015/07/10 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
框架页面高度自动刷新的Javascript脚本
2013/11/01 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
vue+node 实现视频在线播放的实例代码
2020/10/19 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
国外平面设计第一市场:99designs
2016/10/25 全球购物
自荐信怎么写好
2013/11/11 职场文书
主治医师岗位职责
2013/12/10 职场文书
《湘夫人》教学反思
2014/02/21 职场文书
创意广告词
2014/03/17 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
Java字符串逆序方法详情
2022/03/21 Java/Android
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python