嗨,我有一个非常奇怪的问题。我们的应用程序中有很多用户,并且单个用户遇到了我无法在任何其他计算机上复制的问题(我已经测试了7台计算机,2台Win10,5台Macbook,在FF 42和FF ESR中)。 / p>
InvalidAccessError:基础对象
不支持参数或操作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;
},
我如何创建样式表:
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 ];
当它尝试访问rules.length时,错误显示但仅适用于此人。我访问的CSS规则是我动态生成的规则,包括样式表标记本身(同一个域,因此不是CORS问题)。
最初我没有尝试/捕获并添加它没有帮助。在测试期间,这个用户确实安装了NoScript,这是我认为的问题,但他们已经删除了它。他们说他们已经测试了多台机器并且它们都发生在我们身上,但是我无法在我试过的任何机器上复制它。
还有什么可能导致此消息?是否有可能导致此问题的浏览器设置?还是插件?我已经要求他们卸载所有插件并刷新FireFox并且都没有帮助。