Как заставить Firefox использовать json2.js вместо собственной реализации JSON? - PullRequest
1 голос
/ 15 декабря 2010

Я сталкиваюсь со следующей ошибкой в ​​собственной реализации JSON FF: https://bugzilla.mozilla.org/show_bug.cgi?id=509184. Я хотел бы обойти ее, заставив FF использовать JSON2.js, который имеет правильное поведение.

Каков наилучший способ сделать это, желательно не касаясь самого JSON2.js?

Ответы [ 3 ]

2 голосов
/ 16 декабря 2010

Удалить первую из этих строк (и соответствующую закрывающую скобку), содержащуюся в json2.js:

    if (typeof JSON.stringify !== 'function') {
        JSON.stringify = function (value, replacer, space) {
            ...

Повторите для JSON.parse, и т. Д. при необходимости. Обратите внимание, что вы можете использовать браузер сниффинг, если хотите (заполните детали):

    if (typeof JSON.stringify !== 'function' || isBuggyFirefoxVersion) {
        JSON.stringify = function (value, replacer, space) {
            ...
1 голос
/ 15 декабря 2010

Попробуйте что-то вроде этого:

<script type="text/javascript">
    delete window.JSON;
</script>
<script type="text/javascript" src="path/to/JSON2.js"></script>
0 голосов
/ 15 декабря 2010

Не будет ли просто включение JSON2.js перезаписывать нативные методы json?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...