FireFox InvalidAccessError:基础对象

时间:2015-12-07 13:49:55

标签: javascript firefox

嗨,我有一个非常奇怪的问题。我们的应用程序中有很多用户,并且单个用户遇到了我无法在任何其他计算机上复制的问题(我已经测试了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并且都没有帮助。

0 个答案:

没有答案