Javascript FireFox InvalidAccessError:基础对象不支持参数或操作
嗨,我有个很奇怪的问题。我们的应用程序中有很多用户,只有一个用户遇到了我无法在任何其他机器上复制的问题(我在FF 42和FF ESR中测试了7台机器,2台Win10,5台Macbooks) InvalidAccessError:基础对象不支持参数或操作Javascript FireFox InvalidAccessError:基础对象不支持参数或操作,javascript,firefox,Javascript,Firefox,嗨,我有个很奇怪的问题。我们的应用程序中有很多用户,只有一个用户遇到了我无法在任何其他机器上复制的问题(我在FF 42和FF ESR中测试了7台机器,2台Win10,5台Macbooks) InvalidAccessError:基础对象不支持参数或操作 getRule: function( aSelector ) { var rules = ( this._rules.cssRules ) ? this._rules.cssRules : this._rules.rules,
getRule: function( aSelector ) {
var rules = ( this._rules.cssRules ) ? this._rules.cssRules : this._rules.rules,
rule = false,
i, len;
try {
for ( i = 0, len = rules.length; i < len; i++ ) {
if ( rules[ i ] && rules[ i ].selectorText == aSelector ) {
rule = rules[ i ];
break;
}
}
} catch( ex ) { }
return rule;
},
当它尝试访问rules.length时,会显示该错误,但仅针对这一个人。我访问的CSS规则是我动态生成的规则,包括样式表标记本身(同一个域,所以不是CORS问题)
最初我没有尝试/捕获,添加它也没有帮助。在测试过程中,这个用户确实安装了NoScript,我认为这是问题所在,但他们后来删除了它。他们说他们已经测试了多台机器,所有的机器上都有,但我无法在我尝试过的任何机器上复制
还有什么可能导致此消息?是否存在可能导致此问题的浏览器设置?还是插件?我已经要求他们卸载所有插件并刷新FireFox,但两个都没有帮助。FF 45?你每晚都在做测试吗是否有与错误相关的行号?您是否要求他们使用其他浏览器?请阅读第一条评论-听起来可能与此相关。我看到了。为什么这只会发生在一个浏览器中的单个用户身上呢?计时是一个非常棘手的问题:D-在加载样式表时,有没有办法重构代码以等待“加载”事件
this._container = document.createElement( 'style' );
this._container.setAttribute( 'type', 'text/css' );
this._container.setAttribute( 'rel', 'stylesheet' );
this._container.setAttribute( 'media', 'all' );
document.getElementsByTagName( 'head' )[ 0 ].appendChild( this._container );
this._rules = document.styleSheets[ document.styleSheets.length - 1 ];