Исправлена ​​ошибка объекта в браузере Mozilla

Я создал библиотеку Javacript под названием Tocl. Я протестировал его в Chrome и Safari, и все работает правильно. Но когда я тестирую его в браузере Mozilla (Firefox, Aurora), здесь ничего не происходит. Я не знаю, что здесь происходит. Консоль говорит "Tocl не определен", а "ToclObject" не является конструктором. Но на Chrome и Safari все в порядке. Можете ли вы помочь выяснить, что не так в моем коде?

Это мой репозиторий:

https://github.com/mahdaen/tocl

https://github.com/mahdaen/tocl/tree/master/sample

Благодарю.

1 ответ

Решение

Мне удалось выделить проблему:

window.ToclObject = { bug : 'bug fixed'};
Object.defineProperty(window, 'ToclObject', {});

console.log(window.ToclObject.bug); // error

Я также добавил исправление:

window.ToclObject = { bug : 'bug fixed'};
Object.defineProperty(window, 'ToclObject', { value : window.ToclObject });
console.log(window.ToclObject.bug); // bug fixed

Проблема находится здесь: tocl.base.js: 1260

PS: Если вам интересно, как я это изолировал:

Я скопировал ваш код в файл, который показывает проблему, и удалял (удалял) код, пока ошибка не будет отображаться. Затем я вернулся, чтобы увидеть, что именно я удалил между ошибкой, показывающей, а не показывающей, и тада... вот в чем проблема.

Другие вопросы по тегам