Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przycisk Lubie to i własna operacja
awerd95
post 25.02.2012, 10:56:36
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 20.05.2010

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


Witajcie,

Wczoraj wieczorem zostałem zmuszony do napisania pewnej aplikacji na FB.
Wszystko pięknie aż do momentu gdy potrzebuję aby podczas naciskania przycisku lubię to wykonywał się kod PHP.
Z pomocą przyszedł mi ajax, funckję onclick wywołuje:

  1. <blablabla onclick="getData('mysql.php', 'info_box')"></blabl>


Taki sposób działa, lecz gdy nadam onclick na diva przycisku Lubię to, wtenczas kod się wywołuje ale gdy kliknę ciut na lewo od przycisku a nie na nim, na innych elementach działa lecz tu facebook chce mnie zdenerować.

Wie ktoś jak naprawić to aby po kliknięciu Lubie to wywoływało mi funkcję getData() ? a jeśli nie to może pomocne stanie się moje podpytanie do tematu:
jak z poziomu js dobrać się do kodu wygenerowanego w iframe?

Pozdrawiam
Go to the top of the page
+Quote Post
wookieb
post 25.02.2012, 11:47:10
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




poczytaj o facebook javascript api, tam jest zdarzenie "like".


--------------------
Go to the top of the page
+Quote Post
awerd95
post 25.02.2012, 13:21:34
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 20.05.2010

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


Chyba znalazłem lecz niestety nie działa

  1. FB.Event.subscribe('edge.create', function() {
  2. alert('You liked the URL: ');
  3. }
  4. );


Edit: Chyba działa, ale jak mu się chce, raz reaguje raz nie

Ten post edytował awerd95 25.02.2012, 13:51:23
Go to the top of the page
+Quote Post
wookieb
post 25.02.2012, 14:23:43
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Upewnij się czy nie rzucasz słów na wiatr. Prędzej ty robisz coś źle, niżeli to nie działa.


--------------------
Go to the top of the page
+Quote Post
awerd95
post 25.02.2012, 14:53:16
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 20.05.2010

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


Już sam nie wiem, nie umie albo co

Podgląd: http://greatsite.pl/fb/

Aplikacja miała na celu przypisywać lajkowiczów do grup od których dowiedziała się o stronie pewnej fundacji

Kod:
  1. <?php
  2. require('facebook.php');
  3.  
  4. $facebook = new Facebook(array(
  5. 'appId' => '',
  6. 'secret' => '',
  7. 'cookie' => true,
  8. ));
  9.  
  10. $uid = $facebook->getUser();
  11. $me = null;
  12. if ($uid) {
  13. try {
  14. // pobieramy informacje o użytkowniku
  15.  
  16. $me = $facebook->api('/me');
  17. } catch (FacebookApiException $e) {
  18. error_log($e);
  19. }
  20. }
  21. ?>
  22. <!doctype html>
  23. <html xmlns:fb="http://www.facebook.com/2008/fbml">
  24.  
  25. <head>
  26. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  27. <title>Konkurs</title>
  28. <div id="fb-root"></div>
  29.  
  30.  
  31. <script language=javascript>
  32. var object = false;
  33. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  34. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  35. function getData(dataSource, divID) {
  36. if (object.readyState==4 || object.readyState==0) {
  37. var obj = document.getElementById(divID);
  38. object.open("GET", dataSource);
  39. object.onreadystatechange = function() {
  40. if (object.readyState == 4 && object.status == 200) obj.innerHTML= object.responseText;
  41. }
  42. object.send(null);
  43. }
  44. }
  45.  
  46.  
  47. </script>
  48. <style type="text/css">
  49. .fb_edge_widget_with_comment span.fb_edge_comment_widget iframe.fb_ltr {
  50. display: none !important;}
  51. </style>
  52. </head>
  53. <body id="dd">
  54. <div id="fb-root"></div>
  55. <script>
  56. window.fbAsyncInit = function() {
  57. // inicjalizacja JavaScript SDK
  58. FB.init({
  59. appId : '<?php echo($facebook->getAppId()); ?>',
  60. session : <?php echo(json_encode($session)); ?>,
  61. status : true,
  62. cookie : true,
  63. xfbml : true // włączamy parsowanie XFBML
  64. });
  65.  
  66. // jeśli użytkownik zaloguje się, odświeżamy stronę
  67. FB.Event.subscribe('auth.login', function() {
  68. window.location.reload();
  69. });
  70. };
  71.  
  72. (function() {
  73. var e = document.createElement('script');
  74. e.src = document.location.protocol + '//connect.facebook.net/pl_PL/all.js';
  75. e.async = true;
  76. document.getElementById('fb-root').appendChild(e);
  77. }());
  78.  
  79. FB.Event.subscribe('edge.create', function() {
  80. alert('You liked the URL: ');
  81. }
  82. );
  83.  
  84. </script>
  85.  
  86. <?php
  87.  
  88. if(!empty($_POST['group'])){
  89.  
  90. $_GET['step'] = 2;
  91. $_SESSION['group'] = $_POST['group'];
  92.  
  93. }
  94. ?>
  95. <div style="width: 500px; height: 400px; overflow: hidden; font-family: Tahoma; font-size: 13px; text-align: center;">
  96. <?php if($_GET['step'] == 0 OR $_GET['step'] == 1){ ?>
  97.  
  98. <form action="" method="post" style="padding: 0; margin: 0;">
  99. <div style="width: 500px; background: #fff; height: 250px; padding-top: 75px;">
  100.  
  101. <span style="font-size: 24px; font-weight: bold; color: #333;">Krok 1.</span><br/><br/>
  102. <span style="font-size: 16px; font-weight: bold; color: #222;">Wybierz grupę którą chcesz wesprzeć swoim "Lubię to"</span><br/><br/> <br/><br/>
  103. <select name="group" style="width: 150px;">
  104. <option selected="selected">Grupa 1</option>
  105. <option>Grupa 2</option>
  106. <option>Grupa 3</option>
  107. <option>Grupa 4</option>
  108. <option>Grupa 5</option>
  109. </select>
  110. </div>
  111.  
  112. <div style="width: 500px; background: #3b5998; height: 50px; padding-top: 25px;">
  113. <button type="submit" style="width: 50px; height: 30px;">Dalej</button>
  114. </div>
  115. </form>
  116.  
  117.  
  118. <?php }elseif($_GET['step'] == 2){
  119.  
  120.  
  121.  
  122. ?>
  123. <div class="test" style="width: 500px; background: #fff; height: 250px; padding-top: 75px;">
  124.  
  125. <span style="font-size: 24px; font-weight: bold; color: #333;" >Krok 2.</span><br/><br/>
  126. <span style="font-size: 16px; font-weight: bold; color: #222;">Kliknij "Lubię to"</span><br/>
  127. <span id="info"></span>
  128. </div>
  129.  
  130. <div style="width: 500px; background: #3b5998; height: 50px; padding-top: 25px;">
  131.  
  132. <fb:like href="https://www.facebook.com/pages/GreatSitepl/177365909002550" send="false" layout="button_count" width="200" show_faces="false" font="tahoma"></fb:like>
  133.  
  134. </div>
  135.  
  136. <?php } ?>
  137.  
  138. </div>
  139. </body>
  140. </html>


W celu testów jest tam moja strona, która nie jest upubliczniona ale cel jest aby to zadziałało i mógłbym uruchomić aplikację na stronie fundacji w celu rozpoczęcia konkursu.
Całość nie skończona, wszystko czeka na rozwiązanie przechwytu że polubiono stronę.

Ten post edytował awerd95 25.02.2012, 14:54:16
Go to the top of the page
+Quote Post
wookieb
post 25.02.2012, 14:56:01
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Zajrzyj w konsolę błędów to primo.
Kod
FB is not defined

Wrzuć ten kod, w funkcji wywołującej sięna zdarzenie załadowania facebook SDK.


--------------------
Go to the top of the page
+Quote Post
awerd95
post 25.02.2012, 15:45:33
Post #7





Grupa: Zarejestrowani
Postów: 56
Pomógł: 2
Dołączył: 20.05.2010

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


Problem rozwiazny na innym forum. Wielkie dzięki za pomoc.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 4.06.2024 - 08:17