Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
6 Răspunsuri
24952 Vizualizări

Just started getting this whenever we try to edit a quote, or add a follower to one. Ideas?


Uncaught SecurityError: Failed to read the 'rules' property from 'CSSStyleSheet': Cannot access rules https://oursite.com/web_editor/static/src/js/transcoder.js:16 Traceback:

Error: Failed to read the 'rules' property from 'CSSStyleSheet': Cannot access rules

    at getMatchedCSSRules (https://oursite.com/web_editor/static/src/js/transcoder.js:16:27)

    at Object.style_to_class (https://oursite.com/web_editor/static/src/js/transcoder.js:193:5)

    at Class.render_value (https://oursite.com/web_editor/static/src/js/backend.js:150:24)

    at Class.reinitialize (https://oursite.com/web/static/src/js/views/form_common.js:158:28)

    at Class.trigger (https://oursite.com/web/static/src/js/framework/mixins.js:222:31)

    at Class.trigger (https://oursite.com/web/static/src/js/framework/mixins.js:272:42)

    at https://oursite.com/web/static/src/js/framework/mixins.js:337:22

    at Function._.each._.forEach (https://oursite.com/web/static/lib/underscore/underscore.js:150:9)

    at Class.set (https://oursite.com/web/static/src/js/framework/mixins.js:318:11)

    at Class.test_effective_readonly (https://oursite.com/web/static/src/js/views/form_common.js:422:18

Imagine profil
Abandonează

I realized that in a new database the problem doesn't appear until the "mail" module is installed. I don't know what is the cause of this....

Please refer this link.

https://github.com/odoo/odoo/issues/22517

Okay, the solution is to change the code of transcoder.js located in web_editor/static/src/js:

The property "rules" is not well checked.

This line is wrong (around line number 16):

if (sheets[i].rules) {

It has to be changed to this:

if (sheets[i].hasOwnProperty('rules')) {

Cel mai bun răspuns

Hi Patrick,

I have encountered the same problem.

Possible Fix:

You might need to update the time zone of the user to match with the machine you are using.

Go to > settings > users > Locate the user record > preferences > and change the Timezone.

(if  the timezone on preference is different than your local machine time zone, you will see a warning icon on the timezone record.)

Regards,

Rupesh Patel 

Imagine profil
Abandonează

Okay, I realized that in a new database the problem doesn't appear until the "mail" module is installed. I set the timezone on preference now. Then, I install the "mail" module. But the problem persist.

MouTio , Are you using chrome ? have you tried other browser ? check the timezone on your browser too. by these page : http://www.informit.com/articles/article.aspx?p=1766155&seqNum=4

Rupesh Patel, yes, I am using Google Chrome on Windows 10. In Mozilla Firefox the error doesn't appear.

Cel mai bun răspuns

i fixed by below code: ( version odoo 9.0 )

file : addons\web_editor\static\src\js\transcoder.js ( line 12 )

if (!rulesCache.length) {

        var sheets = document.styleSheets;

        for(var i = sheets.length-1; i >= 0 ; i--) {

            var rules;

            // try...catch because browser may not able to enumerate rules for cross-domain sheets

            try {

                rules = sheets[i].rules || sheets[i].cssRules;

            } catch (e) {

                console.warn("Can't read the css rules of: " + sheets[i].href, e);

                continue;

            }

            if (rules) {

                for(var r = rules.length-1; r >= 0; r--) {

                    var selectorText = rules[r].selectorText;

                    if (selectorText &&

                            rules[r].cssText &&

                            selectorText !== "*" &&

                            selectorText.indexOf(":hover") === -1 &&

                            selectorText.indexOf(":before") === -1 &&

                            selectorText.indexOf(":after") === -1 &&

                            selectorText.indexOf(":active") === -1 &&

                            selectorText.indexOf(":link") === -1 &&

                            selectorText.indexOf("::") === -1 &&

                            selectorText.indexOf("\"") === -1 &&

                            selectorText.indexOf("'") === -1) {

                        var st = selectorText.split(/\s*,\s*/);

                        for (var k=0; k

                            rulesCache.push({ 'selector': st[k], 'style': rules[r].style });

                        }

                    }

                }

            }

        }

        rulesCache.reverse();

    }


//to new code: ( bypass style if not work well )

if (!rulesCache.length) {

        var sheets = document.styleSheets;

        for(var i = sheets.length-1; i >= 0 ; i--) {

            var rules;

            // try...catch because browser may not able to enumerate rules for cross-domain sheets

            try {

                rules = sheets[i].rules || sheets[i].cssRules;

            if (rules) {

                for(var r = rules.length-1; r >= 0; r--) {

                    var selectorText = rules[r].selectorText;

                    if (selectorText &&

                            rules[r].cssText &&

                            selectorText !== "*" &&

                            selectorText.indexOf(":hover") === -1 &&

                            selectorText.indexOf(":before") === -1 &&

                            selectorText.indexOf(":after") === -1 &&

                            selectorText.indexOf(":active") === -1 &&

                            selectorText.indexOf(":link") === -1 &&

                            selectorText.indexOf("::") === -1 &&

                            selectorText.indexOf("\"") === -1 &&

                            selectorText.indexOf("'") === -1) {

                        var st = selectorText.split(/\s*,\s*/);

                        for (var k=0; k

                            rulesCache.push({ 'selector': st[k], 'style': rules[r].style });

                        }

                    }

                }

            }

            } catch (e) {

                console.warn("Can't read the css rules of: " + sheets[i].href, e);

                continue;

            }

        }

        rulesCache.reverse();

    }

Imagine profil
Abandonează
Cel mai bun răspuns

Hi Patrick,

I face the same issue and after google it, I found that some one solved it. I haven't tried it yet.

You can see the whole discussion regarding this error is following link.

https://github.com/odoo/odoo/issues/22517

I don't know if it is helpful or not. But I will try this and post my updates here.

Regards. 

Imagine profil
Abandonează
Cel mai bun răspuns

I think this issue occur in this module

addons/mail/static/src/js/announcement.js

Line no.15

Imagine profil
Abandonează
Cel mai bun răspuns

It happens in V9c 
Just started today in my case. The interesting thing is it does not happen when in developer mode.

Imagine profil
Abandonează
Cel mai bun răspuns

Go to \addons/web_editor/static/src/js/transcoder.js

Change line no 16:

>>> if sheets[i].rules; to if (sheets[i].hasOwnProperty('rules'))

Thanks 

Imagine profil
Abandonează