2015-05-17 24 views
6

Próbuję wprowadzić disqus commments w mojej aplikacji jonowej. Wiem, że muszę go hostować w domenie, której konfigurację uważam za poprawnie skonfigurowaną. Każda pomoc będzie mile widzianaDisqus w Ionic APP

Oto kod w moich app.js dla jonowego aplikacji

$scope.showComments = function() { 
    $scope.currentView = "comments"; 
    //loadComments(params["shortname"], params["url"], params["title"], params["identifier"]); 
    // 

    var disqus_title = "Venue 1"; 
    var disqus_identifier = '/venue/' + $stateParams.id; 
    var disqus_url = 'liverpool.li/venue/' + $stateParams.id; 
    var url = "http://liverpool.li/app/disqus.html?"; 
    $scope.url = url + "shortname=liverpoolli&url=" + encodeURIComponent(disqus_url) + 
    "&title=" + encodeURIComponent(disqus_title) + "&identifier=" + encodeURIComponent(disqus_identifier); 
    $scope.url = $sce.trustAsResourceUrl($scope.url); 
}; 

$scope.$on("$destroy", function() { 
    if ($scope.lastScriptElm && $scope.lastScriptElm.parentNode) { 
     $scope.lastScriptElm.parentNode.removeChild($scope.lastScriptElm); 
     $scope.lastScriptElm = null; 
    } 
}); 

a strona to wskazuje (disqus.html) znajduje się na mojej domenie

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 
</head> 
<body> 
<div id="disqus_thread"></div> 
<script type="text/javascript"> 
    var params; 
    var disqus_url; 
    var disqus_title; 
    var disqus_shortname; 
    var disqus_identifier; 

    window.onload = function() { 
     var match, 
      pattern = /\+/g, 
      search = /([^&=]+)=?([^&]*)/g, 
      decode = function (s) { return decodeURIComponent(s.replace(pattern, " ")); }, 
      query = window.location.search.substring(1); 

     params = {}; 
     while (match = search.exec(query)) 
      params[decode(match[1])] = decode(match[2]); 

     if (params["shortname"] === undefined || params["url"] === undefined || params["title"] === undefined) { 
      alert("Required arguments missing"); 
     } 
     else { 
      loadComments(params["shortname"], params["url"], params["title"], params["identifier"]); 
     } 
    }; 

    function loadComments(shortname, url, title, identifier) { 
     disqus_url = url; 
     disqus_title = title; 
     disqus_shortname = shortname; 

     if (identifier !== undefined) 
      disqus_identifier = identifier; 
     else 
      disqus_identifier = ""; 

     (function() { 
      var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = false; 
      dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; 
      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 
     })(); 
    } 
</script> 
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> 
<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a> 
</body> 
</html> 

Otrzymuję następujący błąd:

Nie można załadować disqus. jeśli jesteś moderatorem, zapoznaj się z naszym przewodnikiem rozwiązywania problemów .

+0

BCLtd walczę, aby dowiedzieć się, jak dostać się do pracy z Disqus jonowe i znalazły swoje pytanie jako do pewnego stopnia, ale nie może pracować się, jak kod pokażesz pasuje do szablonu jonowego? To znaczy. gdzie są używane: $ scope.showComments, $ scope.currentView i $ scope.url? –

+0

@BillNoble - czy ktokolwiek z was był w stanie to zrobić? – AngryJS

+0

@ AngryJS Nie, nie ja. –

Odpowiedz

4

Wygląda na to, że już prawie jesteś. Jedyny problem, jaki widzę, to zmienna disqus_url, która musi również zawierać poprawny protokół. Spróbuj użyć tej linii zamiast:

var disqus_url = 'http://liverpool.li/venue/' + $stateParams.id;

+0

To wszystko! coś tak głupiego kazało mi zmieniać kod na wiele godzin - dzięki za wskazanie tego. Jest to bardzo doceniane! – BCLtd

+0

@Ryan V - czy możesz mi pomóc, jak to się stało? gdzie disqus.html powinien być hostowany i jak zostanie osadzony w moim jonowym widoku? twoja pomoc będzie bardzo pomocna – AngryJS

+0

host komentarzy HTML na własnym serwerze – BCLtd