Я использую автозаполнение jquery в сценарии amazon в установке joomla 3.2.2. jQuery-вызовы генерируются joomla и легким плагином jquery, который настроен на добавление jquery 1.10.2 и jquery ui 1.10.3 и вычеркивание любых других экземпляров (он, похоже, игнорирует добавленную версию joomla).
Скрипты выходят следующим образом:
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/smoothness/jquery-ui.css" type="text/css" />
<link rel="stylesheet" href="/foobar/media/sourcecoast/css/sc_bootstrap.css" type="text/css" />
<link rel="stylesheet" href="/foobar/cache/widgetkit/widgetkit-4d6b5675.css" type="text/css" />
<link rel="stylesheet" href="/foobar/media/sourcecoast/css/mod_sclogin.css" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.migrate/jquery-migrate-1.2.1.min.js" type="text/javascript"></script>
<script src="/foobar/plugins/system/jqueryeasy/jquerynoconflict.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
<script src="/foobar/media/system/js/tabs-state.js" type="text/javascript"></script>
<script src="/foobar/media/jui/js/jquery.min.js" type="text/javascript"></script>
<script src="/foobar/media/jui/js/jquery-noconflict.js" type="text/javascript"></script>
<script src="/foobar/media/jui/js/jquery-migrate.min.js" type="text/javascript"></script>
<script src="/foobar/media/jui/js/bootstrap.min.js" type="text/javascript"></script>
Не удалось выполнить js:
jQuery(function () {
jQuery("#jform_itemtitle").autocomplete({
minLength: 3,
source: function (req, res) {
jQuery.ajax({
url: 'http://completion.amazon.com/search/complete',
cache: true,
dataType: 'jsonp',
data: {
'search-alias': 'aps',
'client': 'amazon-search-ui',
'mkt': '1',
'q': req.term
},
error: function (data) {
return false;
},
success: function (data) {
res(data[1]);
}
});
}
});
});
Ошибка:
Uncaught TypeError: Object [object Object] не имеет метода autocomplete в консоли и сценарий автозаполнения не работает.
Поместите ниже на самое верхнее.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
И удалите ниже. Две версии/могут быть опасными:
<script src="/foobar/media/jui/js/jquery.min.js" type="text/javascript"></script>
Infact сохраняет только 1 версию. Я вижу, что много файлов js дублируются.