ifizzy
2.06.2011, 14:17:56
Witam,
Mam taki problem, bo próbuje zrobić skrypt taki:
-użytkownikowi pojawia się reklama (np. googla), i po kliknięciu system dodaje mu punkty +250pkt. jak to rozwiązać, żeby skrypt wiedział zeby dodać punkty, skoro reklama google raz otwiera się w nowej karcie, a raz w tej samej, i linki są cały czas inne. Czy można nałożyć na tą reklamą warstwę klikalną, zeby skrypt wiedział kiedy dodać punkty? bo chciałbym dodawać punkty dopiero po kliknięciu w reklamę. Jak byście to zrobili? Z góry dziękuje za pomoc, i jeżeli napisałem w złym temacie proszę o przeniesienie.
aeaeae
2.06.2011, 16:10:48
1. Nie za pomocą JS - użyj php+baza danych do obsługi użytkowników i ich punktów.
2. Jeśli chodzi o reklamy google, to z tego co pamiętam, takie nakłanianie do klikania (jak i inne nakłaniania również

) są sprzeczne z regulaminem.
ifizzy
2.06.2011, 17:57:43
Google to tylko przykład. A dokładnie jakim byś to sposobem robił, bo już myślałem dokładnie o bazie danych tylko jak to razem połączyć.
Bo link reklamy za każdym razem byłby inny.
zegarek84
2.06.2011, 18:19:14
możesz podpiąć nasłuch albo na warstwę w której znajdują się reklamy albo na całe body i w JavaScript sprawdzać targer - kliknięty element i w górę parentNode dopóki nie trafisz na link (wtedy sprawdzasz co i jak) lub do puki nie ma rodzica (oczywiście wtedy nic nie robisz)... gdy linki są otwierane w nowej karcie to w zasadzie nie ma problemu gdyż mógłbyś skorzystać po prostu ze zwykłego asynchronicznego ajax'a - jeśli jednak linki są otwierane w tym samym oknie to lepiej skorzystać z synchronicznego ajax'a co wstrzyma do odpowiedzi wykonywanie wszystkich skryptów js ale nie będziesz zmuszony wywoływać potem sztucznie bindów podpiętych pod reklamy (oczywiście nie możesz wtedy zatrzymać propagacji i nie możesz w swojej funkcji w js zwrócić false)...
zaproponowałem takie rozwiązanie coby czasem nie robić przekierowania na swoje skrypty php gdyż np. google w wynikach wyszukiwania podczas kliknięcia w link celem zliczania tych linków modyfikuje adresy stron w js i puszcza przez swój serwer...
jak zrobić nasłuch na cały dokument html i sprawdzać kliknięty element z jego rodzicami?? - zastanów się nad kodem z innego tematu ;] - gdzie można nasłuchiwać zdarzenia na elementach podpiętych do drzewa dom znacznie później niż podpięte zdarzenie - jednak tam są sprawdzane tylko dzieci od klikniętego elementu bez obiektu pod który jest zbindowana funkcja - łatwo możesz zmienić... tylko jeszcze będziesz musiał rozróżnić linki "normalne" na stronie od reklam...
http://forum.php.pl/index.php?s=&showt...st&p=868331
aeaeae
2.06.2011, 18:33:35
Zastanowiłem się trochę i myślę, że straszne głupstwo palnąłem w odp. Oczywiście do zabawy z userami i ich punktami jak najbardziej php+baza danych, ale jak zrobić ten mechanizm, o którym jest mowa w temacie to nie wiem. Myślę nawet, że tak na 100% się nie da, bo w gruncie rzeczy to, czy klient wejdzie na reklamę czy tylko w jakiś sposób uda że to zrobił to jego prywatna sprawa ...
ifizzy
2.06.2011, 20:18:03
A jak by tak użyć: JSem (document.getElementsByTagName('iframe')), wyszukiwać linki w dokumencie (element a - też getElementById wewnątrz contentDocument iframki) i podpinać się za pomocą metody attachEvent()/addEventListener().
dało by to rade?
zegarek84
2.06.2011, 21:21:40
Cytat(ifizzy @ 2.06.2011, 21:18:03 )

A jak by tak użyć: JSem (document.getElementsByTagName('iframe')), wyszukiwać linki w dokumencie (element a - też getElementById wewnątrz contentDocument iframki) i podpinać się za pomocą metody attachEvent()/addEventListener().
dało by to rade?
jeśli to jest w ramce to nie da rady - nie możesz operować na zawartości crossdomain (miedzy domenami) - użytkownicy musieli by obowiązkowo instalować co najmniej userscript'y (na mozilli do greaseemonkey - w operze włączyć i wrzucić do odpowiedniego katalogu, pod IE też jest jakiś plugin) lub obowiązkowo instalować dodatek np. do mozilli który też się pisze w js gdzie nie ma tych ograniczeń - więc jednym słowem lipa...
ifizzy
3.06.2011, 07:31:08
To już pomysły mi się wyczerpały.
Na pewno musi być jakiś sposób.
To czekam na odpowiedź, i z góry dzięki za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.