6
votes

L'intégration de DISQUS avec EMBERJS fonctionne uniquement sur la première page de page

Je suis en cours d'exécution Ember-1.0.0-RC.5 et j'ai créé une vue pour les commentaires DISQUS que je passe l'ID d'article.

Mon problème est que DISQUS ne sait pas quand je passe d'une page à une autre à une autre. strong> p>

Ceci est le code de vue: P>

DISQUS assertion failed: Unsafe attempt to redefine existing module: stringify [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: parse [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: domready [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: on [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: once [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: off [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: trigger [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: stopListening [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: listenTo [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: listenToOnce [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: bind [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: unbind [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: getShortnameFromUrl [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: getForum [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: isSSL [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: guessThreadTitle [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: getContrastYIQ [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: colorToHex [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: getElementStyle [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: getAnchorColor [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: normalizeFontValue [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: isSerif [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: getBrowserSupport [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: getPermalink [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: expose [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: BaseApp [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: WindowedApp [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: ThreadBoundApp [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: PublicInterfaceMixin [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: Switches [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: Profile [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: BackplaneIntegration [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: Lounge [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: Ignition [VM] embed.js (16737):1
DISQUS assertion failed: Unsafe attempt to redefine existing module: HostConfig 


0 commentaires

4 Réponses :


1
votes

J'ai créé un travail JSBIN , jetez un coup d'œil.

sur quoi J'ai changé, cette ligne était erronée légèrement erronée xxx

mais peut également être omise en définissant l'élémentable sur la vue elle-même avec xxx

récupéré avec xxx

pour tester que cela fonctionne, j'ai mis dans la JSBIN au sommet Top un lien vers un Pseudo À propos de la page, dans la page About, vous trouverez un lien de retour à la page d'index, passez en arrière et je ne vois aucun problème, DISQUS est chargé à chaque fois que prévu, bien que les erreurs apparaissent toujours. Cela pourrait être lié à la manière dont les disqus sont injectés dans le DOM. S'il vous plaît jeter un oeil et laissez-moi savoir si cela fonctionne pour vous.

espère que cela aide.


2 commentaires

Je ne pense pas que mon message original était clair. Le problème principal est que lorsque vous cliquez sur une page à une autre lorsque les deux pages ont des commentaires, les disqus ne connaissent pas sa page distincte.


Le JSBIN ne loge pas les varers supposés, mais un widget DISQUS générique, chargement de l'URL et du titre IFrame de sortie JSBIN.



1
votes

Selon les DISQUS DOCS, vous pouvez réinitialiser le thread actif comme celui-ci:

DISQUS.reset({
  reload: true,
  config: function () {  
    this.page.identifier = "newidentifier";  
    this.page.url = "http://example.com/#!newthread";
  }
});


0 commentaires

2
votes

Intégration de DISQUS AVEC EMBER

MISE À JOUR STROND> - Il y a maintenant un Ember Addon ici . P>


Je viens de terminer l'intégration d'async DISQUS sur un cadre de blogging Ember ( voir la source ici ) Et c'est comme ça que je l'ai fait: p>

Premier, définissez les options En tant qu'objet (facilement accessible à tous les composants): p> xxx pré>

Suivant, chargez des désquêmes une fois et une seule fois à l'aide du code qu'ils vous donnent. Je l'ai fait dans le composant: p> xxx pré>

Vous pouvez également le faire en définissant une propriété disqusquie code> sur l'objet Options sur true après avoir exécuté le setupdisqus () code> méthode et vérification contre cela. p>

En outre, vous pouvez le faire dans votre modèle de candidature à l'aide de "code> script code> tags mais cela apporterait une erreur si vous 'RE Chargement du script sur une page qui n'a pas et qui n'a pas d'élément avec un ID code> de #disqus_thread code>. p>

Suivant, utilisez le EM.View code> ou em.component code> que vous placez sur chaque page où vous souhaitez que les commentaires apparaissent. Appelons-le app.disquscommentsComponent code>. Ce composant aura no em> la mise en page (modèle). Étant donné que ce composant chargera chaque fois que nous modifions les itinéraires / messages, c'est l'endroit idéal pour appeler DISQUS.RESET () CODE>. P>

{{#link-to 'post' this.urlString commentCount='true'}}{{/link-to}}


2 commentaires

Merci beaucoup de partager cette pièce, tu m'as sauvé beaucoup de temps.


Aucun problème. Je l'ai effectivement transformé en un Ember Addon . Vous pourriez trouver cela utile.



1
votes

Utilisation:

  • un composant li>
  • didinsertelement () li> ul>

    Le composant p> xxx pré>

    Le modèle de composant p> xxx pré>

    maintenant Vous pouvez ajouter des désquêmes dans n'importe quel modèle Avec: P>

    {{c-disqus}}
    


0 commentaires