今天宁夏部署了 Sqlman。同时在使用过程中发现了一些链接地址错误的问题。

而我在自己的电脑上测试,却完全没有问题。通过查看代码以及在不同的浏览器下做测试,原来是不同浏览器在实现上的差异问题。

假设有这样的一个场景,用户当前访问的链接地址为:http://foo.com/bar/test.html
此页面上存在一个链接地址,定义如下:

1
<a href="">当前链接地址</a>

在 Firefox 浏览器和基于 Webkit 内核的浏览器(Chrome、搜狗高速访问模式)中,点击此链接均会重新刷新当前页面,也就是说当链接地址为空时,浏览器会理解为请求当前地址。
而在 IE 内核的浏览器中,点击此链接会请求到:http://foo.com/bar/。

因为当时开发时我主要在 Firefox 中进行,在 IE 下没有做过完整的测试,所以导致了这个 bug 的产生。
解决此问题的方法就是别偷懒,把地址写出来,代码如下:

1
<a href="test.html">当前链接地址</a>

虽然是小问题,但体现出了 IE 内核的浏览器和其他浏览器之间存在的细微差别。给我们的一个启示是,不要忽视我们的产品在常用浏览器下的兼容性测试。