2016-10-21 4 views
0

У меня есть существующий проект, который использует MooTools, к которому я бы хотел добавить Bing Map. Однако я обнаружил, что MooTools разбивает Bing Maps. Я как бы не понимаю, как это исправить. Here - это jsfiddle, который показывает проблему. Если вы смотрите консоль при нажатии на кнопку Run, вы увидите, что Bing бросает исключениеBing Maps несовместимость с MooTools

Uncaught TypeError: n.open is not a function 

Если вы отключите MooTools, и ударил снова запустить, вы увидите карту появится в панели результатов ,

Как мне пройти мимо этого? Это ошибка? - в Bing или в MooTools?

Существующий проект, который я использую MooTools 1.3.2, но проблема появляется даже в версии 1.6.0.

+1

странно. MooTools, похоже, что-то переписывает в коде, загружаемом Bing Maps. Будет ли команда разработчиков Bing Maps изучить это. – rbrundritt

ответ

2

Оказывается MooTools перерывов Bing Maps API загрузки, поскольку он расширяет Element object with send method:

Element.implement({ 

    send: function(url){ 
     var sender = this.get('send'); 
     sender.send({data: this, url: url || sender.options.url}); 
     return this; 
    } 

}); 

Bing Maps библиотека внутренне имеет зависимость к тому же методу, используемый для загрузки suplementary файлов библиотек. `

обходной путь бы, чтобы удалить MooTools специфический метод:

delete Element.prototype.send; 

Демонстрация: plunker

+2

Можно также сказать, что Bing нарушает API MooTools :) '+ 1' – Sergio