Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> rejestracja aktywności strony w iframe
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Hej,
w jaki sposób najlepiej rejestrować aktywność strony w IFRAME? Użytkownikowi po wejsciu do serwisu pojawi się jakaś strona w IFRAME. Interesuje mnie wykrycie, że użytkownik przechodzi na jakieś podstrony w tej stronie.

Do głowy mi na chwilę obecną przychodzi jedynie, to podpięcie sie przy pomocy js, do linków na tej wewnerznej stronie i gdy ten kliknie to jakiś event do mnie. Da się tak? A może jakieś inne rozwiązanie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Jeżeli masz kontrolę nad stroną z ramką i stroną w ramce to zainteresuj się postMessage: https://developer.mozilla.org/en-US/docs/We...dow.postMessage
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No raczej mogę nie mieć kontroli nad stroną w ramce. Chodzi mi w zasadzie tylko o wykrycie, czy użytkownik przemieszcza się po tej stronie, klikając na podstrony
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Możesz spróbować w ten sposób: http://jsfiddle.net/asay9g2y/ - ale z tego co pamiętam ze względów bezpieczeństwa adresu URL nie wyciągniesz.
Go to the top of the page
+Quote Post
com
post
Post #5





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


może tak jak to robią reklamy, czyli event na ramkę i po tym wykryć że jest jakaś interakcja, chyba że potrzebujesz odczyt z konkretnych podstron to nwm, a tak wgl zależy do czego to potrzebujesz bo zawsze te stronę możesz podpiąć pod analytics jeśli chodzi o jakieś statystyki
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@Crozin, hm, jest to jakieś rozwiązanie. Jesli będzie chodziło tylko o reakcję na wczytanie strony, może działać ciekawie (IMG:style_emoticons/default/smile.gif)
ALe pewnie na załadowanie treści ajaxem już nie zareaguje. Trzeba by tu się próbować podpiąć pod linki chyba.

@com nie, nie chodzi o statystyki. CHodzi o wykrycie ruchu uzytkownika i przygotowanie odpowiednich rzeczy na ten ruch: jakis alert, pytanie itp.
Go to the top of the page
+Quote Post
com
post
Post #7





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


no to kwestia nadania userowi jakiegoś identyfikatora i logowanie każdego wywołania danej podstrony, powiązane z tym identyfikatorem?
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@com jak zapisywać dane to ja wiem, to nie problem. Chodziło mi w jaki sposób wykryć jego aktywnośc na stronie w ramce (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
trueblue
post
Post #9





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 8.01.2015, 15:45:56 ) *
ALe pewnie na załadowanie treści ajaxem już nie zareaguje.


https://developer.mozilla.org/en-US/docs/We...Mutation_events
Go to the top of the page
+Quote Post
com
post
Post #10





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


nie zrozumieliśmy się, masz te ramke, w ramce masz podstrony ładowane tym ajaxem wiec każde nowe żądanie do serwera po prostu zapiszesz do pliku bazy whatever powiązując je jednocześnie z naszym id użytkownika i na tej podstawie wiesz co ten ktoś klika, a z tymi danymi robisz już co zechcesz. A to że wiesz jak zapisać dane to ja wiem doskonale.
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@com ale strona w ramce nie bedzie moja. Tym bardziej nie będę miał dostepu do jej serwera (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
com
post
Post #12





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


okej, tego nie wiozłem pod uwagę, no to w tym wypadku to tak się nie da to fakt (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tzm
post
Post #13





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Jestes w stanie wykryc klikanie w cialo frame wiec na tej podstawie mozesz okreslic ze z niej korzysta i mierzyc aktywnosc. Co prawda watpie bys przeskoczyl aktywnosc na danej podstronie w tej ramce to bys juz musial ajaxa zaprzegac i przesylac z innej strony dane do siebie ale tak to nie ma problemu. Nadanie ramce klasy active niech Ci startuje licznik, klikniecie poza nia go zatrzymuje. Czy pokazac na przykladzie?
Go to the top of the page
+Quote Post
Kloc
post
Post #14





Grupa: Zarejestrowani
Postów: 115
Pomógł: 8
Dołączył: 8.06.2014

Ostrzeżenie: (0%)
-----


Tylko się nie śmiać (IMG:style_emoticons/default/biggrin.gif)

  1. <?Php
  2.  
  3. function funkcja($zmienna){
  4. echo $zmienna;
  5. }
  6.  
  7. $zrodlo = file_get_contents('http://forum.php.pl/');
  8. funkcja($zrodlo);
  9.  
  10. ?>


W funkcji sobie zamieniasz linki dodając do nich event i masz swój efekt (IMG:style_emoticons/default/biggrin.gif)
Później tylko załadować to w diva-swoją ramke.

Ten post edytował Kloc 10.01.2015, 18:20:15
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@tzm W sumie też dobry pomysł. Nie, nie musisz podawac przykladu (IMG:style_emoticons/default/smile.gif)

@kloc do linkow to ja sie dobiore tez w js. A w Twoim sposobie już sie nie dobiore do kodu podstron, chyba zeby ajaxem słać po podstrony i takie tam. Ogólnie nastreczyłoby to paru problemów
Go to the top of the page
+Quote Post
Kloc
post
Post #16





Grupa: Zarejestrowani
Postów: 115
Pomógł: 8
Dołączył: 8.06.2014

Ostrzeżenie: (0%)
-----


Cytat(tzm @ 10.01.2015, 18:06:18 ) *
...Czy pokazac na przykladzie?


Chętnie bym zobaczył (IMG:style_emoticons/default/smile.gif) , jak to dla Ciebie nie problem.
Go to the top of the page
+Quote Post
com
post
Post #17





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


tzm napisałem dokładnie to samo, tylko nie doprecyzowałem tego tak dobrze jak Ty (IMG:style_emoticons/default/wink.gif)

Cytat
(..) czyli event na ramkę i po tym wykryć że jest jakaś interakcja
Go to the top of the page
+Quote Post
tzm
post
Post #18





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Cytat(Kloc @ 10.01.2015, 18:42:50 ) *
Chętnie bym zobaczył (IMG:style_emoticons/default/smile.gif) , jak to dla Ciebie nie problem.


  1. <div id="body">
  2. <p>kliknij se tu dla testu</p>
  3. <div id="activity"></div>
  4. <iframe id="phppl" src="http://forum.php.pl/Zobacz_profil_m85157.html"></iframe>
  5. </div>
  6. var activityMonitor = {
  7. iframeActive : false,
  8. timerCheck : false,
  9. timer : 0
  10. };
  11. window.addEventListener('blur',function(){
  12. if(activityMonitor.iframeActive == true && activityMonitor.timerCheck == false){
  13. activityMonitor.timerCheck = true;
  14. inter = setInterval(function(){
  15. activityMonitor.timer ++;
  16. document.getElementById('activity').innerText = activityMonitor.timer;
  17. },1000);
  18. }
  19. });
  20. document.getElementById('body').addEventListener('click',function(){
  21. activityMonitor.iframeActive = false;
  22. activityMonitor.timerCheck = false;
  23. clearInterval(inter);
  24. });
  25. document.getElementById('phppl').addEventListener('mouseover',function(){
  26. activityMonitor.iframeActive = true;
  27. });


osadzic w html,body i dziala. nie wiem jak z urzadzeniami mobilnymi bo nie mam gdzie potestowac. do activityMonitor.timer wypadaloby napisac monitor albo cos zeby podawac czas a nie inta ale juz mi sie nie chce dla przykladow pisac calosci.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:00