2016-04-25 6 views
0

Der Versuch, eine einfache Version von Codemirror zu erhalten, aber wenn ich zu einem Dokument über zwei diff - Browser (oder einen in incog) gehe, bekomme ich diesen Fehler in der Konsole: Ungültige Karten bei transformDataCodeMirror - Problem: Fehler bei der Analyse des Vorwärtskanals Fehler: Ungültige Karten bei transformData

Dies sind zwei diff Benutzer angemeldet und den Zugriff auf die gleichen doc:

Fehler Vorwärtskanal Fehler bei der Analyse. Hat gut funktioniert, als niemand eingeloggt war und es waren nur zwei diff-Browser, die auf doc zugreifen. Ich habe die settings.json-Datei wie in der Wurzel angewiesen eingerichtet und starte Meteor 1.2.1, da dies die Version ist, die immer noch mit Sharejs funktioniert. Ich betreibe es mit: Meteor - Release 1.2.1 - Einstellungen settings.json.

{ 
"sharejs": { 
"options": { 
     "accounts_auth": { 
     "authorize": { 
      "collection": "documents", 
      "token_validations": { 
       "or": { 
       "invitedUsers": "is_in_array", 
       "userId": "is_equal" 
       } 
      }, 
      "apply_on": [ 
       "read", 
       "update", 
       "create", 
       "delete" 
      ] 
     }, 
     "authenticate": { 
      "collection": "users", 
      "token_validations": { 
       "_id": "is_equal" 
      } 
     } 
     } 
    } 
    } 
} 

Im HTML, wenn die Dokumente beide machen die korrekten docid (dh die gleiche docid) ... aber natürlich sehe ich nicht den Text Spiegelung.

Mit einfacher Codemirror Version ({{> sharejsCM docid=docid id="editor"}})

Irgendwelche Ideen?

Antwort

0

Schauen Sie sich das Beispiel in https://www.coursera.org/learn/web-application-development/lecture/QAxTR/textcircle -Code ist: textcircle.html:

<head> 
    <title>Text Circle</title> 
</head> 
<body> 
    <h1>Welcome to Text Circle - a Collaboration Tool.</h1> 
    {{> editor}} 
</body> 
<template name="editor"> 
    {{> sharejsCM docid=docId id="Editor"}} 
</template> 

---- textcircle.js:

this.Documents = new Mongo.Collection("documents"); 

if (Meteor.isClient) { 
    Template.editor.helpers({ 
    docId: function() { 
     var doc = Documents.findOne(); 
     if (doc) { 
     return doc._id; 
     } else { 
     return null; 
     } 
    } 
    }) 
} 

if (Meteor.isServer){ 
    Meteor.startup(function(){ 
     // code to run on server at startup 
    if (! Documents.findOne()) { // No docs yet. 
     Documents.insert({title: "My new documents."}) 
    } 
    }) 
} 

Ich weiß noch nicht, was id = "Editor" tut es. Ich änderte es hier zu id = "Editor" und löschte es sogar, ohne wahrgenommenen Unterschied in den Ergebnissen zwischen zwei Fenstern.

Verwandte Themen