Итак, начнем с ситуации. У меня есть веб-сайт, который использует Jquery 1.4.2
в качестве основной версии Jquery.
Но пользователь может использовать пользовательские шаблоны, которые используют другие версии (1.2.1,1.5.1 и т. Д.). Так что в некоторых ситуациях это приводит к конфликтам.
Например, здесь
//included in my main view
<script type="text/javascript" src="jquery-1.4.2.min.js" ></script>
<script type="text/javascript">
$(function () {
alert($().jquery);
});
</script>
//included in custom template
<script type='text/javascript' src='jquery-1.5.1.min.js'></script>
<script type="text/javascript">
$(function () {
alert($().jquery);
});
</script>
Таким образом, они оба оповещают 1.5.1 (из-за инициализации, когда документ готов). Поэтому я хочу предотвратить эту ситуацию.
Теперь у меня в голове только одно решение - используйте noConflict(true)
и замените все символы $
и Jquery
на новые символы в всех плагинах, используемых на моем сайте.
Есть ли более элегантное решение или мне действительно нужно переименовать все плагины, используемые на моем сайте?
P.S. Другим способом, возможно, будет использование плагинов обратной совместимости, но в этой ситуации мне потребуется добавить множество плагинов, чтобы сделать его совместимым со всеми версиями.