Прежде всего: я использую довольно туманную реализацию javascript, встроенную в качестве механизма сценариев для Adobe InDesign CS3. Эта реализация иногда отличается от «стандартного» JavaScript, поэтому моя проблема.
Я использую библиотеку Джона Резига Джона ( источник здесь ), чтобы сравнить выделенные фрагменты текста между двумя документами. jsdiff использует ванильные объекты в качестве ассоциативных массивов для сопоставления слова из текста с другим объектом. (См. Переменные "ns" и "os" в jsdiff.js, около строки 129.)
Мои головные боли начинаются, когда в тексте появляется слово «отражать». «отражение» - это свойство по умолчанию, только для чтения для всех объектов. Когда jsdiff пытается присвоить значение в ассоциативном массиве ns ['отражает'], все взрывается.
Мой вопрос: есть ли способ обойти это? Есть ли способ сделать хеш-таблицу в JavaScript без использования очевидного объекта vanilla?
Основные правила: переключение скриптовых движков не вариант. :)