콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
6 답글
25008 화면

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

아바타
취소

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')) {

베스트 답변

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 

아바타
취소

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.

베스트 답변

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();

    }

아바타
취소
베스트 답변

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. 

아바타
취소
베스트 답변

I think this issue occur in this module

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

Line no.15

아바타
취소
베스트 답변

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

아바타
취소
베스트 답변

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 

아바타
취소