Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Конфликт событий внешних скриптов. (https://javascript.ru/forum/events/29660-konflikt-sobytijj-vneshnikh-skriptov.html)

ryslan1 06.07.2012 14:15

Конфликт событий внешних скриптов.
 
Господа гуру, помогите новичку решить следующую проблему:
есть два внешних подключаемых скрипта, которые берутся с сайтов партнеров.
По отдельности каждый скрипт работает нормально, но мне необходимо разместить их на одной странице на вкладках.
С их отображением проблем не возникает, а вот с обытиями сразу начинаются проблемы:
1. В обоих скриптах при нажатии на поле ввода даты перестает "всплывать" календарь для выбора даты.
2. В одном из скриптов неправильно формируется срока адреса в новом открывающемся окне при нажатии на кнопку "Поиск".
Вот эти два скрипта в том виде, котором их мне предоставили
<div id="SearchBox"></div>
<script src="http://ajaxsearch.partners.agoda.com/partners/SearchBox/Scripts/Agoda.SearchBoxV2.js" type="text/javascript">
</script>
<script type="text/javascript">
            
                        var AgodaSearch = new AgodaSearchBox({
                            cid: 000000,
                filterCityName: '',
                fixedCityName: false,
                fixedCityNameVisible:true,
                hotelID: '',
                checkInDateBefore:1,
                night:2,
                language:11,
                currencyCode: 'USD',
                newWindow: true,
                header: 'http://c-travel.com.ua/search.html',
                footer: 'http://c-travel.com.ua/searchb.html',
                style: 'style4',
                            Element: 'SearchBox'
                        });
             
        </script>

и
<div id="tour_search_module"></div>
<script src="http://module.ittour.com.ua/tour_search.jsx?id=60953D85G771126648N9504&ver=1&type=2974">
</script>


Даже не знаю, каким путем пойти:-?
Может есть способы "переключать" эти скрипты при выборе вкладок?
Т.е. мне не нужно, чтобы они работали одновременно.

5art@mail.ru 06.07.2012 14:16

Видимо есть одинаковые функции, названия одинаковые, поэтому и возникает проблема.

ryslan1 06.07.2012 14:20

Ну, это я уже понял. Поэтому выясняю, есть ли возможность полностью "отключать" подключенный скрипт на неактивной вкладке?

Deff 06.07.2012 15:40

Цитата:

Сообщение от ryslan1
Поэтому выясняю, есть ли возможность полностью "отключать" подключенный скрипт на неактивной вкладке?

Эт нужно работать с внутренностью скриптов и проверять в самом скрипте некий внешний флаг(глобальную переменную) разрешения запросов или запрета, в зависимости от этого - разрешать аякс запросы или игнорить

ryslan1 06.07.2012 15:56

Ну, теоретически, первый скрипт я могу залить к себе и откорректировать.
Придется, правда, периодически проверять его обновления.
Со вторым сложнее...
А что именно там искать и что можно сделать?

Deff 06.07.2012 15:59

Цитата:

Сообщение от ryslan1
Ну, теоретически, второй скрипт я могу залить к себе и откорректировать.
Придется, правда, периодически проверять его обновления.
С первым сложнее...
А что именно там искать и что можно сделать?

нужно Аякс запросы обрамить в if c проверкой глобальной переменной на странице (а глобальную переменную выставляете так => http://javascript.ru/forum/events/29...jj-moment.html

ryslan1 06.07.2012 17:05

Сейчас досмотрел в этих скриптах используются разные версии JQuery и JQuery-UI. Может ли здесь крыться причина?

Deff 06.07.2012 17:42

ryslan1,
Хм - тогда не ясен запрос для скрытия при неактивной вкладке, -смысл ? - конфликт будет и до перехода на иную

cyber 07.07.2012 01:24

конечно я может как всегда не внимательно читал, но может загружать скрипт в функцию
(function(){
//content
}());

и тогда проблема глобальных переменных отпадает..

ryslan1 08.07.2012 22:45

Цитата:

Сообщение от cyber (Сообщение 186921)
конечно я может как всегда не внимательно читал, но может загружать скрипт в функцию
(function(){
//content
}());

и тогда проблема глобальных переменных отпадает..

Не совсем понял... Т.е. внешний скрипт в функцию? Тогда как?
Оба или какой-то один?
Сорри, в скриптах я не силен.


Часовой пояс GMT +3, время: 10:10.