坑爹的firefox

简介: 在公司,有同事向我反映,他用FF登录不了网站,我用FF看了一下,遇到这个诡异的问题:   错误信息:NS_ERROR_MALFORMED_URI: Component returned failure code: 0x804b000a (NS_ERROR_MALFORMED_URI) [nsIDOMLocation.

在公司,有同事向我反映,他用FF登录不了网站,我用FF看了一下,遇到这个诡异的问题:

 

错误信息:NS_ERROR_MALFORMED_URI: Component returned failure code: 0x804b000a (NS_ERROR_MALFORMED_URI) [nsIDOMLocation.href]

定位到相应的代码,无非就是请求后台,如果身份验证成功,登录页面login.html则会进行跳转,默认是游戏列表页:

336行报错,也就是document.location.href赋值这一行报错了,但我在控制台上测试的代码如下:

首先获取跳转页的参数没有问题,然后页面跳转了,如下图所示:

 

但是很遗憾,在代码里这样写它就无法跳转,报上面的错误…,控制台上使用就没有问题!!!

 

 

 

我通过google查看搜索结果,证明了二件事情:

1、这是firfox的bug;

2、不止是document.location.href这样赋值有问题,用replace也有问题

 

注意下图中标注绿色的区域(点击查看原文>>

在stackoverflow上的回答比较有趣:

好像代码也差不多嘛,这个怎么就行了呢?

 

这段代码仅仅只是添加了:协议类型(protocol) 和 主机(host),也就是说跳转的地址必须是完整的http://xxxx这样的。无论用replace方法还是直接重新赋值href,都必须是完全的地址,不然ff会报错(之前的版本我记得好像是没有这个问题的…)。

 

对了,附上我的ff版本信息:

 

 

为了避免类似的悲剧再次发生,建议所有对location有跳转动作的代码,都使用完整的url

img_fea0fc88f974b8284d421542fa1c5907.jpg

目录
相关文章
|
Web App开发 移动开发 前端开发
Chrome各个版本小常识
Chrome各个版本小常识
|
7月前
|
Web App开发 前端开发 JavaScript
谷歌浏览器chrome神级插件推荐
谷歌浏览器chrome神级插件推荐
|
Web App开发 JSON 缓存
不得不服!Chrome 灵魂插件!下
不得不服!Chrome 灵魂插件!下
198 0
不得不服!Chrome 灵魂插件!下
|
Web App开发 数据安全/隐私保护
不得不服!Chrome 灵魂插件!上
不得不服!Chrome 灵魂插件!上
126 0
不得不服!Chrome 灵魂插件!上
|
Web App开发
不得不服!Chrome 灵魂插件!中
不得不服!Chrome 灵魂插件!中
116 0
不得不服!Chrome 灵魂插件!中
|
Web App开发 JSON 前端开发
吐血推荐 Chrome 插件(一)
吐血推荐 Chrome 插件
112 0
吐血推荐 Chrome 插件(一)
|
Web App开发 数据安全/隐私保护
推荐2款藏了很久的Chrome神器
推荐2款藏了很久的Chrome神器
推荐2款藏了很久的Chrome神器
|
Web App开发 Windows
别说你不知IE9正式版浏览器小技巧9则
时间过得真快,转眼间IE9推正式版一段时间了。和很多同学一样,我也是第一时间下载并安装了这款号称继IE6后的微软最给力的浏览器。不过鉴于IE的口碑一向不好,这次微老大显然是想来个重塑辉煌,于是一款与之前版本完全不同的全新浏览器出现在了我们面前。
897 0
selenium+Firefox 初试
今天算是忙活这几天以来的第一次实际应用到生产。感觉不错:爬虫无人看守自动爬取了5939条数据。把过程和收获写下来。 xpath方法   selenium的核心就是网页元素的选取,这是前提。它所提供的方法功能强大,可是我不太会用,一个上午都在测试元素选取方法,可能也因不同网页而异。
1050 0