Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Помогите, с кликом, мышки на объект.
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (3): [1] 2 3 » 

> Описание: JavaScript
victor
Отправлено: 12 Февраля, 2009 - 04:04:38
Post Id



Full Member


Покинул форум
Сообщений всего: 177
Дата рег-ции: Февр. 2005  

Карма 0




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

просто рекламодатели последнее время постоянно просят подсчет кликов. Сами в этом не бумбум. Поэтому надо сделать объект поверх баннера, который уже заносит данные в БД о клике.

JavaScript:
CODE:

<script type="text/javascript">
function klikREK()
{
document.getElementById('rek').innerHTML="<? count_rek_klik('flash.swf'); ?>";
}
</script>


На странице:
CODE:

<div id=rek onclick=klikREK()>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="100%" height="100">
<param name="movie" value="./flash.swf" />
<param name="quality" value="high" />
<embed src="./flash.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="100"></embed>
</object>
<div>
 
 Top
Systemnik Администратор
Отправлено: 12 Февраля, 2009 - 04:50:33
Post Id



ExBB Developer Team


Покинул форум
Сообщений всего: 778
Дата рег-ции: Дек. 2007  

Карма 0




victor,
так не делается... Вперед выполняется PHP, ведь он на сервере! Значит ваш вариант не катит, юзайте AJAX, тоесть по событию он клик отправляется какой-то запрос на сервер,
а сервер уже вызывает функцию count_rek_klik.
 
 Top
Systemnik Администратор
Отправлено: 12 Февраля, 2009 - 04:54:16
Post Id



ExBB Developer Team


Покинул форум
Сообщений всего: 778
Дата рег-ции: Дек. 2007  

Карма 0




Вот реализация:
CODE:
function klikREK()
{
var php_script = document.createElement('script');
php_script.type = "text/javascript";
php_script.src = "server_php_script.php?click=flash.swf";
document.body.appendChild(php_script);
}


Код server_php_script.php:
CODE:
<?php
if (isset($_GET['click'])) {
count_rek_klik('flash.swf');
}
?>


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

(Отредактировано автором: 12 Февраля, 2009 - 04:55:17)

 
 Top
victor
Отправлено: 12 Февраля, 2009 - 05:27:47
Post Id



Full Member


Покинул форум
Сообщений всего: 177
Дата рег-ции: Февр. 2005  

Карма 0




Systemnik , я вообщето не спрашивал про взаимодействие php с javascript.
Я просил помощи с событием onclick
У меня срабатывает событие которое прописанно в функции JavaScript при загрузке.

А во всем остальном у меня все впорядке. А данная конструкция позволяет работать php с JavaScript без всяких GET и POST.
Такчто врут в интернете что при помощи Java нельза запустить php на исполнение. Для этого ненадо формы делать чтоб получить глобальные переменные. И без них все работает.
Если бы у меня такие конструкции не работали бы, я бы их не использовал. Все движется, все меняется. Если серверу объявленно, что он должен выполнить функцию php на исполнение, он ее исполнит.

Лучше напиши как в Java сделать проверку что действительно был клик. Если ты считаешь, что надо передавать параметр в функцию то можно написать вот так.

CODE:

<script type="text/javascript">
function klikREK(rek)
{
document.getElementById('rek').innerHTML="<? count_rek_klik("+rek+"); ?>";
}
</script>

<div id=rek onclick=klikREK('flash.swf')>
...
</div>
 
 Top
Furax
Отправлено: 12 Февраля, 2009 - 06:48:16
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




victor
Кто так делает?! Как можно отлавливать в HTML событие щелчка на флэш-баннере? Флэш - это отдельная стихия, и сценарий для клика в этом случае должен быть внедрён в сам баннер. Всплытия событий из Flash в JS нет. Либо используй баннер-картинку, либо модифицируй флэшку.
 
 Top
victor
Отправлено: 12 Февраля, 2009 - 07:40:35
Post Id



Full Member


Покинул форум
Сообщений всего: 177
Дата рег-ции: Февр. 2005  

Карма 0




Furax , я знаю что надо во внутрь флеша вставлять счетчик. просто меня рекламодатели задолбали, постоянно им одно и тоже твердить приходится.
Я не отлавливаю шелчек на баннере, я отлавливаю щелчек на div. Тоесть на объекте. Если его поймать, то это решит поставленную задачу.
А готовый пример облегчит всем геморой с счетчиками.

Поэтому и хочу сделать оптимальный вариант.
У меня проблема заключается в том, что данная конструкция выполняется при загрузке. А не только при клике.

Кстати приведенный пример Systemnik тоже не работает. уж незнаю почему. Но к файлу server_php_script.php он не оброщается и естественно не меняет количество кликов в БД.

Ну доведите хотябы до ума его пример или дайте рабочий вариант, гляну почему у меня не срабатывает. В JS я не профи, поэтому может что и не так пишу.

(Отредактировано автором: 12 Февраля, 2009 - 07:43:47)

 
 Top
Furax
Отправлено: 12 Февраля, 2009 - 07:43:34
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




На HTML универсальный рабочий во всех браузерах вариант обработки щелчка на флэше не сделать. Точка.
 
 Top
victor
Отправлено: 12 Февраля, 2009 - 07:45:24
Post Id



Full Member


Покинул форум
Сообщений всего: 177
Дата рег-ции: Февр. 2005  

Карма 0




Да не на флеш а на div надо сделать
 
 Top
Systemnik Администратор
Отправлено: 12 Февраля, 2009 - 07:50:29
Post Id



ExBB Developer Team


Покинул форум
Сообщений всего: 778
Дата рег-ции: Дек. 2007  

Карма 0




victor,
врут. Ха-ха Да вы что? Ну надоже! Оказывается JavaScript управляет интерпритатором PHP, чтож спасибо -- просветили! Улыбка

Furax,
ты знал? Во! как! Ха-ха Ха-ха
 
 Top
Systemnik Администратор
Отправлено: 12 Февраля, 2009 - 07:52:51
Post Id



ExBB Developer Team


Покинул форум
Сообщений всего: 778
Дата рег-ции: Дек. 2007  

Карма 0




Единственный случай когды вы правы, это что-то типа:
CODE:
<?php
function a() {
echo "alert('!!!');";
}
?>
<script>
function JS() {
el.innerHTML = "<? a(); ?>"
}
</script>

Вот тут правда...
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0, скрытых: 0)
« JavaScript »


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



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0448]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33