Intuit IPP уничтожает jQuery в IE

Я интегрирую приложение с программой Intuit IPP. Для этого требуется загрузить их JS из https://appcenter.intuit.com/Content/IA/intuit.ipp.anywhere.js. Это работает в каждом браузере, ожидаемом для IE10 (EDIT: также не работает в IE9). Этот сбой происходит на Win7 и Win8.

Суть проблемы в том, что он удаляет jQuery. Все работает до тех пор, пока файл не будет включен, и все вызовы как $, так и jQuery сразу после этого терпят неудачу. Когда я говорю, что он удален: $(document) поднимает «Ожидаемый объект», а jQuery === undefined возвращает true.

Опять же, я хочу подчеркнуть, что эта проблема возникает только в IE10. Кто-нибудь еще сталкивался с этой проблемой? Какие-нибудь советы?

Спасибо.

РЕДАКТИРОВАНИЕ. Оказывается, я ошибся, когда открывал тикет. IE9 испытывает ту же проблему.

РЕДАКТИРОВАНИЕ №2: я настроил этот jsfiddle, чтобы продемонстрировать проблему http://jsfiddle.net/3jwRp/2/. Работает нормально в хроме, но вызывает предупреждение в IE


person Forrest    schedule 19.07.2013    source источник
comment
Я пытался загрузить файл intuit в любом месте как до, так и после jquery.js без каких-либо последствий.   -  person Forrest    schedule 19.07.2013


Ответы (2)


Пожалуйста, ознакомьтесь с решением на нашем сайте для разработчиков для IE8 и выше:

https://developer.intuit.com/docs/0025_quickbooksapi/0060_auth_auth/widgets/0010_connect_button

В частности: для отображения кнопки «Подключиться к QuickBooks» в IE8 требуется атрибут html xmlns, например:

Если и это не решит вашу проблему, отправьте заявку в службу поддержки по адресу: https://developer.intuit.com/Support/Incident

Кроме того, просто хотел понять, используете ли вы какой-либо другой jquery в своем проекте? Затем выполните 2 шага: Можете ли вы использовать решения, упомянутые в ссылке ниже:

1) Ссылка на библиотеку jquery 1.0 в самой верхней позиции и использование местоположения CDN для ссылки на нее. Добавьте сайт CDN в список надежных сайтов.

2) Проверьте, нет ли по ошибке лишней запятой или > в вашем скрипте. Другие браузеры могут разрешить это, но не т.е.

Ссылаться:

http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/?rdfrom=http%3A%2F%2Fdocs.jquery.com%2Fmw%2Findex.php%3Ftitle%3DUsing_jQuery_with_Other_Libraries%26redirect%3Dno

http://forum.jquery.com/topic/using-jquery-noconflict-lightbox-and-jquery-conflict

person nimisha shrivastava    schedule 21.07.2013
comment
Я отправлю тикет в службу поддержки. Проблема совершенно очевидна в этом jsfiddle jsfiddle.net/3jwRp. - person Forrest; 22.07.2013
comment
Мы не можем использовать CDN jQuery, а вместо этого загружаем копию с наших серверов. Я только что заметил, что скрипт intuit добавляет в нашу голову вторую загрузку jquery. Это, вероятно, вызывает некоторые конфликты имен. Как предотвратить повторное использование jQuery скриптом intuit? Разве он не должен видеть, что jQuery уже загружен на страницу, и не перезагружать его? - person Forrest; 22.07.2013
comment
Не могли бы вы уточнить, какой Jquery вы загружаете со своих серверов? - person nimisha shrivastava; 22.07.2013
comment
1.10.2 кто-то объяснил, что скрипт сломан так, что думает, что 1.10.2 < 1.4.2. Подробнее объяснено здесь: stackoverflow.com/questions/17791357/ - person Forrest; 22.07.2013
comment
Да. Я также добавил еще одну ссылку на решение для вашей проблемы на странице выше. - person nimisha shrivastava; 22.07.2013

Проблема, по-видимому, вызвана известной ошибкой сценария Intuit, описанной в перезагрузке сценария Intuit Anywhere. jQuery (номер Intuit Ticket — IPP-1811)

Chrome и FF обрабатывали перезагрузку jQuery более изящно, чем IE, поэтому это была более очевидная проблема, но основная причина была во всех браузерах.

person Forrest    schedule 23.07.2013