Модератор форума: JonMagon  
jQuery и связанные с ним проблемы
Модератор форума
Сообщение # 1 | 22:02:10
jQuery — библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API по работе с Ajax. Подробнее »

По умолчанию на каждом uCoz-сайте уже подключена jQuery-библиотека.

Подключается она всегда перед тегом
Код
</head>


или после
Код
</title>


в виде отдельного файла: /.s/src/jquery-1.12.4.min.js.

Повторное подключение jQuery может привести к некоторым проблемам.








Проблемы, которые могут возникнуть из-за повторного подключения jQuery:
  • Проблемы с авторизацией — чаще всего это обновление страницы во время авторизации;
  • Проблемы при добавлении материала — страница либо также обновляется (при этом добавления материала не происходит), либо при клике по кнопке «Добавить» ничего не происходит;
  • Проблемы с AJAX-окнами — неработоспособность функций для работы с AJAX-окнами (то есть AJAX-окна могут просто не открываться, либо открываться и сразу закрываться);
  • Проблема с админ/юзер-баром — как правило, его отсутствие.


Прикрепления: 9431003.png (6.9 Kb)
m4shinobi
Сообщений: 21
Репутация: 4

Сообщение # 61 | 22:26:28
Quote (fflesh)
Скрывать содержимое блока «xw-ml» не стилем «display: none;» а другим, например «height:1px; overflow:hidden;» ...

а что если содержимое блока выводится с другой страницы?
То, что с другой страницы:
Code
<div class="$ID$"> Выводимый текст </div>


То что выводит по ссылке на нужной странице:
Code
<a href="javascript://" onclick="javascript:uwnd_about_files$ID$()">Нужный текст по клику на который появляется ajax</a>

<script type="text/javascript">      
function uwnd_about_files$ID$(){      
new _uWnd("$ID$","$TITLE$",1,1,{minw:522,minh:680,oncontent: function () {      
$('.$ID$').load('/load/$CID$-$SID$-0-$ID$ .$ID$');      
}      
}, "<div class='$ID$'></div>");      
}
</script>


Добавлено (17-Янв-2012, 22:26:28)
---------------------------------------------
Можно-ли организовать работу js в ajax?
Скрипт находится в самом ajax.
Сообщение отредактировал m4shinobi - Вторник, 17 Янв 2012, 22:32:24
fflesh
Сообщений: 1784
Репутация: 1314

Сообщение # 62 | 00:29:07
m4shinobi,
Quote (m4shinobi)
а что если содержимое блока выводится с другой страницы?

Какая разница? Видео останавливается потому что блоку, при сворачивании аякс окна назначается стиль display: none...
...

Quote (m4shinobi)
Можно-ли организовать работу js в ajax?
Скрипт находится в самом ajax.

Да.
...

P.S.
Quote (m4shinobi)
onclick="javascript:uwnd_about_files$ID$()"
Какая жуть ... Не проще ли передавать ID из вызова ...
Code
uwnd_about_files('$ID$');return false;

...

Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8
Сообщение отредактировал fflesh - Среда, 18 Янв 2012, 00:41:24
Grimanga
Сообщений: 12
Репутация: 9

Сообщение # 63 | 13:33:36
Добрый день!

К сожалению, я не владею знаниями в скриптах и никто мне не может помочь с проблемой конфликта, который возникает на моей страничке http://grimanga.ucoz.ru/... Не знаю к кому обратиться за помощью, поэтому очень прошу подсказать, как мне разрешить данный момент:

Я использую плагин lightbox2, но он конфликтует со скриптом prototype и таким образом не функционируест всплывающее подменю и админ-бар.
Для решения проблемы я пробовала использовать noConflict, но это не оказалось панацеей.
Также IE конфликтует по этой же причине с uwnd.

подскажите, пожалуйста, как мне исправить написание кода во избежание конфликта?
Code
<script type="text/javascript" src="/js/prototype.js"></script>   
<script type="text/javascript" src="/js/scriptaculous.js?load=effects,builder"></script>  
<script type="text/javascript" src="/js/lightbox.js"></script>  
<link rel="stylesheet" href="/css/lightbox.css" type="text/css" media="screen" />
fflesh
Сообщений: 1784
Репутация: 1314

Сообщение # 64 | 14:31:00
Grimanga,
Quote (Grimanga)
Для решения проблемы я пробовала использовать noConflict, но это не оказалось панацеей.

Не вижу ни одной записи noConflict. Где вы её использовали?
...

Quote (Grimanga)
подскажите, пожалуйста, как мне исправить написание кода во избежание конфликта?

Проще всего - использовать lightbox - jQwery ... а prototype отключить ...
...

Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8
Grimanga
Сообщений: 12
Репутация: 9

Сообщение # 65 | 15:08:36
Quote (fflesh)
Не вижу ни одной записи noConflict. Где вы её использовали?
...


Прошу прощения, что не указала noConflict в моем предыдущем посте, тк по причине неработоспособности его стерла.. а использовала я его так:
Code
<html>
<head>   
<script type="text/javascript" src="/js/prototype.js"></script>
</head>
<body>
<script src="http:https://src.ucoz.net/src/jquery-1.3.2.js"></script>
<script>
// Use jQuery via jQuery(...)
jQuery(document).ready(function($){
jQuery("div").hide();
});
// Use Prototype with $(...), etc.
$('someid').hide();
</script>
<script type="text/javascript" src="/js/scriptaculous.js?load=effects,builder"></script>   
<script type="text/javascript" src="/js/lightbox.js"></script>   
<link rel="stylesheet" href="/css/lightbox.css" type="text/css" media="screen" />
</body>


Quote (fflesh)
Проще всего - использовать lightbox - jQwery ... а prototype отключить ...
...


Тоже пробовала использовать данный плагин, но... он работает очень странно. Иногда функционирует, а иногда нет.. А иногда при переключении между категориями в меню он начинает работать так, как будто я хочу просмотреть какую-то картинку (грузится белый пустой квадрат с loader.gif на затемненном фоне) и перехода на другую категорию меню не происходит. Сейчас по вашей рекомендации снова поставила его, но как и указала выше - функционирует он по-разному.
Возможно, я неправильно пишу код (в нижней части сайта):?

Code
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/jquery.lightbox-0.5.js"></script>
<link rel="stylesheet" type="text/css" href="/css/jquery.lightbox-0.5.css" media="screen" />
<script type="text/javascript">
$(function() {
   // Use this example, or...
   $('a[@rel*=lightbox]').lightBox(); // Select all links that contains lightbox in the attribute rel
   // This, or...
   $('#gallery a').lightBox(); // Select all links in object with gallery ID
   // This, or...
   $('a.lightbox').lightBox(); // Select all links with lightbox class
   // This, or...
   $('a').lightBox(); // Select all links in the page
   // ... The possibility are many. Use your creative or choose one in the examples above
});
</script>


Всплывающее подменю со вторым плагином также не работает.... Подскажите, пожалуйста, что делаю не так... cry
Сообщение отредактировал Grimanga - Понедельник, 23 Янв 2012, 15:56:54
xeon3029
Сообщений: 9
Репутация: 0

Сообщение # 66 | 01:11:24
Добрый день. Хочу сделать в сплывающем окне правила (в сплывающее окно подгружается отдельный HTML ). Написал скрипт:
Code
<link rel="stylesheet" type="text/css" href="/js/photo_albom/example.css" media="screen" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js?ver=1.4.2"></script>
<script type="text/javascript" src="/js/photo_albom/jwin.js"></script>
<link rel="stylesheet" type="text/css" href="/js/photo_albom/jwin.css"/>
<script type="text/javascript">$(document).ready(function(){$("#newpage").load("http://stroitel-kharkov.net/doska/rules.html");})
function testWindow(){
var w = $.jWin.create({alwaysCentered:true,autoShow:false,modal:true,overlayOpacity:0.8,overlayColor:'#000',width:'1210',height:'830',title:'<strong   ><font color="#FF0000"><CENTER><b>Правила пользования сервисом</b></CENTER></font></strong>',handleEscape:true});w.setContent(newpage);w.show();}
</script>
<a href="javascript://" onclick="testWindow()"; title="Правила пользования"><b>Правила пользования</b></a>


Но скрипт срабатывает если на страницу где прописан скрипт вставить
Code
<div id="newpage"></div>

При этом все что в подгружаемом файле выкладывается на страницу, а при нажатии на кнопку "Правила пользования сервисом" тоже самое выскакивает.
Подскажите что исправить , что бы работало без подгрузки файла на страницу, а работало при нажатии на кнопку "Правила пользования сервисом" в всплывающем окне (подгружало HTML в всплывающее окно)?
Сообщение отредактировал xeon3029 - Среда, 01 Фев 2012, 01:17:56
fflesh
Сообщений: 1784
Репутация: 1314

Сообщение # 67 | 06:04:16
xeon3029,
Quote (xeon3029)
Добрый день. Хочу сделать в сплывающем окне правила (в сплывающее окно подгружается отдельный HTML ). Написал скрипт:

Особенно порадовала фраза «написал скрипт» ))))))))))
Ничё не понял.
Ссылку на страницу с опытом.
... Кстати, а чем вам стандартные юВинд окошки не угодили? Зачем вешать сторонние?
....

Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8
xeon3029
Сообщений: 9
Репутация: 0

Сообщение # 68 | 10:00:26
Quote (fflesh)
Ссылку на страницу с опытом.

Страница с <div id="newpage"></div> http://stroitel-kharkov.net/index/qqqq/0-113
Страница без <div id="newpage"></div> http://stroitel-kharkov.net/index/qqqq/0-114
Заранее спасибо:)))
fflesh
Сообщений: 1784
Репутация: 1314

Сообщение # 69 | 16:03:20
xeon3029,
Quote (xeon3029)
Страница с <div id="newpage"></div> http://stroitel-kharkov.net/index/qqqq/0-113
Страница без <div id="newpage"></div> http://stroitel-kharkov.net/index/qqqq/0-114
Заранее спасибо:)))

А с чего вы взяли что должно отображаться?
У вас же написано:
Quote
var cont='<div id="newpage"></div>'
function testWindow(){
var w = $.jWin.create({alwaysCentered:true,autoShow:false,modal:true,overlayOpacity:0.8,overlayColor:'#000',width:'1210',height:'830',title:'<strong ><font color="#FF0000"><CENTER><b>Правила пользования сервисом</b></CENTER></font></strong>',handleEscape:true});w.setContent(newpage);w.show();}

А блок с ID newpage - пустой ... Следовательно .... и окно будет пустое.
... Что-то не пойму логики.
...

Вот как нужно:
Code
<script type="text/javascript">
$(document).ready(function(){
$("#newpage").load("http://stroitel-kharkov.net/doska/rules.html");
})
function testWindow(){
var w = $.jWin.create({alwaysCentered:true,autoShow:false,modal:true,overlayOpacity:0.8,overlayColor:'#000',width:'1210',height:'830',title:'<strong  ><font color="#FF0000"><CENTER><b>Правила пользования сервисом</b></CENTER></font></strong>',handleEscape:true});w.setContent(newpage);w.show();
}
</script>
<a href="javascript://" onclick="testWindow()"; title="Правила пользования"><b>Правила пользования</b></a>
<div style="display:none;">
<div id="newpage"></div>
</div>

...

Quote (xeon3029)
Спасибо!

Незачто)

Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8
Сообщение отредактировал fflesh - Среда, 01 Фев 2012, 17:24:58
xeon3029
Сообщений: 9
Репутация: 0

Сообщение # 70 | 16:43:45
Quote
Вот как нужно:

Спасибо!!!
admin0433
Сообщений: 2
Репутация: 0

Сообщение # 71 | 13:17:00
Валидатор ругается:

Quote
Line 12, Column 189: document type does not allow element "STYLE" here
…c/uwnd.js?2"></script><style type="text/css">.UhideBlock {display:none}</style>


Т.е. предлагает убрать в css. Как можно удалить эту часть кода без отключения jquery?
Selena
Сообщений: 15657
Репутация: 1100

Сообщение # 72 | 13:51:49
admin0433, если вы её просто уберёте, то у вас перестанут работать многие функции.

Отправляя сообщение о помощи, приводите ссылку на свой сайт. Это не считается рекламой, зато снимает массу вопросов.
admin0433
Сообщений: 2
Репутация: 0

Сообщение # 73 | 14:51:37
Ясно, поменял доктайп на XHTML, ошибка исчезла.
MeGGo
Сообщений: 14
Репутация: 9

Сообщение # 74 | 13:38:02
Помогите пожалуйста:
где я могу найти и удалить эти строки?



когда я смотрю исходный текст страницы то эти строки есть но когда захожу в ПУ-Управление дизайном-страницы сайта то наблюдаю между head и /head только вот что:



где мне найти эти строчки? Заранее спасибо! teehee

все гениальное - просто, просто до этого "просто" додуматься не просто :)
http://auto-cad.at.ua
Сообщение отредактировал MeGGo - Пятница, 03 Фев 2012, 13:42:33
Miss_Esq
Сообщений: 13859
Репутация: 4159
Уровень замечаний:

Сообщение # 75 | 13:43:19
MeGGo, Читайте шапку темы !!! Там же написано ...

Отключить автоматически подключаемую jQuery-библиотеку можно следующим образом: В шаблонах замените код </head> на </head<?'>'?> и </title> на </title<?'>'?>

Поиск: