Permiso emergente de permiso de Facebook bloqueada incluso cuando se activa por el evento de usuario. ¿Por qué?

StackOverflow https://stackoverflow.com/questions/7308914

Pregunta

Aquí está la página: http://textbookcentral.com.au/26/university-of-new-south-wales/buy/69897/acct1501/?query=

Cuando "Dile a los demás, estoy comprando un libro de texto en mi muro de Facebook". La casilla de verificación se verifica y hace clic en "Solicitar este libro de texto", independientemente de si los datos de entrada del formulario son válidos o no, intentará hacer una publicación de pared en su muro de Facebook, abriendo un cuadro de diálogo de inicio de sesión o un diálogo de permiso según sea necesario.

Sin embargo, el diálogo no se muestra si su navegador bloqueó las ventanas emergentes. He probado esto en Safari y Firefox.

El JavaScript se activa solo cuando hace clic en el botón "Solicitar este libro de texto", pero las ventanas emergentes todavía están bloqueadas, ¿por qué?

(Vea la fuente, desplácese hacia abajo y también verá el siguiente código relevante).

<a href="#" class="submit button" onclick="make_facebook_request_post()">Request this textbook</a></p>
  </div>

  </form>

</div>
<script type="text/javascript">
function make_facebook_request_post() {

  if ($('#id_facebook').is(':checked')) {
    facebook.do_post(function(success) {}, 
      'I am using http://textbookcentral.com.au to buy a textbook for ACCT1501.', 'publish_stream')
  }

}
</script>

La función Facebook.do_post hará las llamadas FB.API. Ver http://textbookcentral.com.au/site_media/static/central/js/facebook.js

¿Fue útil?

Solución

Sí, especifican esto en su documentación.

http://developers.facebook.com/docs/reference/javascript/fb.login/

Llamar a FB.Login da como resultado el JS SDK que intenta abrir una ventana emergente. Como tal, este método solo debe llamarse después de un evento de clic del usuario, de lo contrario, la ventana emergente será bloqueada por la mayoría de los navegadores.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top