JS: странности взаимодействия двух скриптов.

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-15 22:18:31

все примеры взяты с сайта - пример конкретной страницы - http://www.lissyara.su/?id=1046
Итак, имеем такой вызов для открытия нового окна:

Код: Выделить всё

<a href="images/upload_images/2005-10-25/48c50c665bb32ec8f5336739642d9f4c.jpg" onclick="open_photo_48c50c665bb32ec8f5336739642d9f4c(); return false">
и такой скрипт для учёта кликов по объявлениям директа:
http://www.lissyara.su/scripts/direct_monitor.js
мои камменты в скрите указывают на место проблемы:

Код: Выделить всё

if (obj.href.indexOf('.yandex.ru/count')==-1) return true;
итак. в ссылке - фалзе, требуемое для того чтобы открывалось тока в новом окне, а в скрите - труе.
при включении обоих имеем в ослике такую ситуацию, что при клике по фотке открывается она в новом окне, и на заднем плане на сайте =(
если поменять в скрипте труе на фалзе - перестают работать вообще все ссылки =)
ктонит в js шарит настолько чтобы объяснить - чё происходит и чё мона пофиксить.
у меня знания кончились =(
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение BlackCat » 2008-03-15 23:27:52

Попробуйте убрать вообще ссылку внутри которой находиться картинка, а тег самой картинки исправить вот так:

Код: Выделить всё

<img
style="border: 1px solid White; cursor: pointer;"
src="path/file.jpg"
border="0"
alt="Alt param data"
title="Title param text"
width="300"
onClick="open_photo_48c50c665bb32ec8f5336739642d9f4c();">
Т.е. событие onClick перенести в тег картинки. В style добавлен параметр, что бы сохранялось изменение курсора со стрелки на руку, при наведении на картинку.
=====
Есть вариант исправить ссылку вот так,

Код: Выделить всё

<a href="#" onclick="open_photo_48c50c665bb32ec8f5336739642d9f4c(); return false">
но браузер может перезагрузить всю страницу.

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение BlackCat » 2008-03-15 23:38:36

Поторопился немного, второй вариат работает нормально и страницу не перегружает.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-16 1:46:54

это я и так догадался =)
однако, на сайте половина посетителей без явы =)
хотелось бы оставить им возможность увидеть полную картинку =)
первый завтра попробую.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение BlackCat » 2008-03-16 2:08:25

Для посетителей без явы можно добавить картинку вместе со ссылкой через <noscript></noscript>, а скриптом отрисовывать только картинку.
=====
Если посетитель со включенными скриптами, можно присвоить тегу <a> идентификатор (напр. имя картинки): <a href="img_file" id="link_id">, а потом скриптом заменять содержимое href на "#", по идентификатору.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-16 2:21:51

мдя...
сложные решения какие-то...
существующее было куда проще и без нареканий работало больше трёх лет =(
Убей их всех! Бог потом рассортирует...

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение BlackCat » 2008-03-16 2:40:01

Самый простой вариант - забить на пользователей с IE и не делать ничего :-) FF && Opera нормально реагируют и не пытаются по ссылке перейти. Или грядет портирование 7 Ишака в никсы :-)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение zg » 2008-03-16 8:52:33

BlackCat писал(а):Самый простой вариант - забить на пользователей с IE
не самая лучшая идея :wink:

проще всего не париться, а генерить ссылки одни для тех у кого всключён ява-скрипт, и ссылки без ява-скрипта, к примеру

Код: Выделить всё

<script language="javascript">
document.writeln('<a href="javascript:open_photo_48c50c665bb32ec8f5336739642d9f4c()">blabla</a>');
</script>

<noscript>
<a href="images/upload_images/2005-10-25/48c50c665bb32ec8f5336739642d9f4c.jpg">blabla</a>
</noscript>
этот код будет работать во всех браузерах как с ява-скриптом так без него

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-16 11:53:06

чё-то опять не так.
на основном окне показывает фалзе =)))
можно на сайте по ссылке код глянуть =)
Убей их всех! Бог потом рассортирует...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение zg » 2008-03-16 13:32:36

lissyara писал(а):чё-то опять не так.
на основном окне показывает фалзе =)))
можно на сайте по ссылке код глянуть =)
Лис, а при чём тут ЯД? у тебя на каждую картинку своя функция пишется

Код: Выделить всё

		<script type="text/javascript">
			function open_photo_48c50c665bb32ec8f5336739642d9f4c(){
			var vphoto = window.open("","Bigphoto","copyhistory=0,directories=0,width=660,height=580");
			vphoto.document.write("<HTML>\n");
			vphoto.document.write("<HEAD>\n");
			vphoto.document.write("<TITLE>Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))</TITLE>\n");
			vphoto.document.write("<META NAME=\"keywords\" CONTENT=\"Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))\">\n");
			vphoto.document.write("<META NAME=\"description\" CONTENT=\"Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))\">\n");
			vphoto.document.write("<META http-equiv=\"Content-Type\" content=\"text/html;charset=windows-1251\">\n");
			vphoto.document.write("</HEAD>\n");
			vphoto.document.write("<BODY>\n");
			vphoto.document.write("<div align=center>\n");
			vphoto.document.write("<CODE><b>Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))</b></CODE>\n");
			vphoto.document.write("<br>\n<br>\n");
			vphoto.document.write("<div style=\"height:480; width:640;\">\n");
			vphoto.document.write("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");
			vphoto.document.write("\t<tr>\n");
			vphoto.document.write("\t\t<td align=\"center\" style=\"border: 1px solid #707680;\">");
			vphoto.document.write("<a href=\"javascript:window.close();\" title=\"Кликните, чтобы закрыть\">");
			vphoto.document.write("<img style=\"border: 1px solid White;\" src=\"images/upload_images/2005-10-25/48c50c665bb32ec8f5336739642d9f4c.jpg\" border=\"0\">");
			vphoto.document.write("</a>");
			vphoto.document.write("</td>\n\t</tr>\n</table>\n");
			vphoto.document.write("</div>\n");
			vphoto.document.write("</div>\n");
			vphoto.focus();
			vphoto.document.close();
			return false;
			}
а в конце до кучи ещё и return false стоит, вот этот false тебе и показывается, убери строчку return false из функции open_photo

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-16 22:49:46

вах! Шаман!
А я даже не пробовал - думал без него основное окно чёнить показывать начнёт =)))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-16 22:51:22

а при чём яд...
[классический секс] всяки фёрстВДС которые платят по 10 копеек за клик...
так хоть можно примерно прикинуть чё происходило, куда кликали и во что это вылилось.
Я не гото вывешивать на сайте рекламу по 10 копеек за клик =)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-19 14:12:48

косяк. Щас сижу под первым файрфоксом - картинок вообще не видно =(
Убей их всех! Бог потом рассортирует...


Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-19 14:45:41

невозможно.
это всё происходит на клиентской стороне...
Убей их всех! Бог потом рассортирует...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение zg » 2008-03-20 13:11:57

lissyara писал(а):косяк. Щас сижу под первым файрфоксом - картинок вообще не видно =(
хм, фф1.5 работает

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-20 13:53:28

во-во.
у меня тоже под всем пашет.
а вот на учёбе есть тока
Mozilla 1.7.12 - не пашет
Firefox 1.0.7 - не пашет
Konqueroor 3.3.1 - не пашет...
Убей их всех! Бог потом рассортирует...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение zg » 2008-03-20 14:51:11

lissyara писал(а):во-во.
у меня тоже под всем пашет.
а вот на учёбе есть тока
Mozilla 1.7.12 - не пашет
Firefox 1.0.7 - не пашет
Konqueroor 3.3.1 - не пашет...
под рукой тока винда, поэтому
about.PNG
окошечко рисуется
ff.PNG
скрипт работает
popup.PNG
popup.PNG (10.57 КБ) 4489 просмотров
конкуеррора под рукой нет, но думаю, что там тоже работает

тестовый скрипт

Код: Выделить всё

<CENTER>
		<TABLE border="0" cellspacing="0"  cellpadding="0">
			<TR>
				<TD align="center" style="border: 1px solid #707680;">
				<script language="javascript">
				document.writeln('<a href="javascript:open_photo_48c50c665bb32ec8f5336739642d9f4c()"><img src="1.jpg" border="0" alt="Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))" title="Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))" width="300" /></a>');
				</script>
				<noscript>
				<a href="1.jpg"><img style="border: 1px solid White;" src="1.jpg" border="0" alt="Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))" title="Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))" width="300"></a>
				</noscript>
				</TD>
			</TR>
		</TABLE>
		</CENTER>
		<p align="justify"><CODE>
		<!-- скрипт нового окна для этой картинки -->
		<script type="text/javascript">
			function open_photo_48c50c665bb32ec8f5336739642d9f4c(){
			var vphoto = window.open("","Bigphoto","copyhistory=0,directories=0,width=660,height=580");
			vphoto.document.write("<HTML>\n");
			vphoto.document.write("<HEAD>\n");
			vphoto.document.write("<TITLE>Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))</TITLE>\n");
			vphoto.document.write("<META NAME=\"keywords\" CONTENT=\"Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))\">\n");
			vphoto.document.write("<META NAME=\"description\" CONTENT=\"Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))\">\n");
			vphoto.document.write("<META http-equiv=\"Content-Type\" content=\"text/html;charset=windows-1251\">\n");
			vphoto.document.write("</HEAD>\n");
			vphoto.document.write("<BODY>\n");
			vphoto.document.write("<div align=center>\n");
			vphoto.document.write("<CODE><b>Видеокарта NVidia FX5600-XT - видны вздувшиеся конденсаторы (вздулись, они, кстати, не так уж и сильно - а работать уже отказалась :))</b></CODE>\n");
			vphoto.document.write("<br>\n<br>\n");
			vphoto.document.write("<div style=\"height:480; width:640;\">\n");
			vphoto.document.write("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");
			vphoto.document.write("\t<tr>\n");
			vphoto.document.write("\t\t<td align=\"center\" style=\"border: 1px solid #707680;\">");
			vphoto.document.write("<a href=\"javascript:window.close();\" title=\"Кликните, чтобы закрыть\">");
			vphoto.document.write("<img style=\"border: 1px solid White;\" src=\"images/upload_images/2005-10-25/48c50c665bb32ec8f5336739642d9f4c.jpg\" border=\"0\">");
			vphoto.document.write("</a>");
			vphoto.document.write("</td>\n\t</tr>\n</table>\n");
			vphoto.document.write("</div>\n");
			vphoto.document.write("</div>\n");
			vphoto.focus();
			vphoto.document.close();
			
			}
		</script>
<br />
потести на бзде, думаю, работать будет все команды (write и writeln) поддерживаются всеми браузерами с незапамятных времён

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-20 15:29:52

да вот и сам не вкурю - чё под этим редхатом не так ему
Убей их всех! Бог потом рассортирует...

ProFTP
проходил мимо

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение ProFTP » 2008-03-20 23:01:45

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

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-21 1:36:58

ты непонял.
я учитываю клики по объявлениям.
а вот пострадали картинки =)
Убей их всех! Бог потом рассортирует...

Overseer
сержант
Сообщения: 221
Зарегистрирован: 2008-03-20 23:00:42

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Overseer » 2008-03-23 22:09:39

А если такой вариант:
<a href="images/upload_images/2005-10-25/48c50c665bb32ec8f5336739642d9f4c.jpg" onclick="return open_photo_48c50c665bb32ec8f5336739642d9f4c();">
<script type="text/javascript">
function open_photo_48c50c665bb32ec8f5336739642d9f4c(){
// тут код..
return false;
}
т.е. получится:
return open_photo_48c50c665bb32ec8f5336739642d9f4c(); => return false;

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-24 1:44:36

ну, добавить то могу, тока лису 1.0 под древним редхатом я больше не увижу =)))
Убей их всех! Бог потом рассортирует...


Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35461
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: JS: странности взаимодействия двух скриптов.

Непрочитанное сообщение Alex Keda » 2008-03-24 9:38:09

учиться закончил =)
это на учёбе было
Убей их всех! Бог потом рассортирует...