2013-07-23 2 views
-1

Я создаю небольшой файл javascript, который будет использоваться на сторонних сайтах, и он имеет некоторые зависимости, такие как json2.js и underscore.js. Некоторые из часто используемых библиотек предоставляют методы noConflict, чтобы избежать конфликтов пространства имен, но json2.js не имеет способа сделать это. Есть ли способ использовать эти зависимости без внесения каких-либо изменений в глобальные переменные, такие как JSON (также без изменения файлов зависимостей)?Избегайте конфликтов имен пространства

Я знаю, что json2.js только изменяет глобальную область видимости в старых браузерах, но это всего лишь пример.

+0

Итак, вы хотите загрузить json2.js, но не иметь его изменить 'window.JSON'? Что ты пытаешься сделать? Я не понимаю вопроса. –

+2

Вы можете изучить [require js] (http://requirejs.org) специально [shim] (http://requirejs.org/docs/api.html#config-shim) – RobH

ответ

0

Одним из способов вы можете сделать это что-то вроде этого:

(function() { 
    //JSON2.js code here 
    myFunction = function() { 
    JSON.stringify(..); //reference to JSON2 here 
    } 
})(); 
Смежные вопросы