Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Curso concluído, novas dúvidas.

Já concluí o curso e achei muito proveitoso, mas agora que passei pro desenvolvimento de outro aplicativo, mas não estou conseguindo resolver um problema. Preciso incluir um sistema de comentários do disqus no aplicativo, ele funciona muito bem no lab (testando no browser no PC), mas não funciona no android (a tela fica em branco), não consegui encontrar um plugin que já faça isso, então estou tentando na mão, alguém já conseguiu algo parecido?

5 respostas

Oi José.

Esses comentários vc está pegando de um site externo, então precisa adicionar sua URI na config.xml do seu projeto.

Uma lista de site que seu app pode consumir dados, uma whitelist.

Para isso você tem q usar a tag

<acceess origin>

Pode ver direto na documentação aqui nesse link:

https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/

Opa Lázaro, legal essa dica que aprendi sobre essa proteção que ainda não conhecia, mas o plugin da whitelist já estava instalado e a configuração padrão já estava no config.xml.

<access origin="*">

Entendo que com essa configuração o aplicativo já estaria permitindo o consumo dos dados de qualquer origem.

Vou colocar aqui os códigos da página html e do controller, o que me intriga é funcionar bem no browser e não funcionar no android, considerando que é apenas html e javacript.

html

<ion-view>
  <ion-nav-title>
   <span class="light title-text">Comentários</span>
  </ion-nav-title>
    <ion-content>
        <div id='disqus_thread'></div>
    </ion-content>
</ion-view>

controller

angular.module('starter')
.controller('DisqusController', function($scope, $stateParams) {

    disqus_url = $stateParams.page;

    (function() {
        var dsq = document.createElement('script'); 
        dsq.type = 'text/javascript'; 
        dsq.async = true;
        dsq.src = '//meusite.disqus.com/embed.js';
        dsq.setAttribute('data-timestamp', +new Date());
        (document.head || document.body).appendChild(dsq);
    })();
})

Oi José.

Vamos ter que fazer o debug com o celular.

  • Deixa o celular plugar na USB e rode o comando ionic run android --device
  • Abra o Chrome e vá até o endereço: chrome://inspect/
  • O Chrome vai achar seu celular pela USB, daí vá até a aba console do Chrome e veja se tem algum erro para a gente investigar.
solução!

Muito obrigado Lázaro, com a sua dica percebi que o erro era na hora de carregar o embed.js do disqus, como se ele estivesse procurando um file, e não na web, mudei de

dsq.src = '//meusite.disqus.com/embed.js';

para

dsq.src = 'https://meusite.disqus.com/embed.js';

e funcionou, valeu.

Maravilha José.