2016-11-12 1 views
1

Ich habe diese beiden Funktionen:Fehler: Fehler in Rangy WrappedRange Modul: create(): Parameter muss ein Fensterobjekt oder DOM-Knoten sein

function menuItemListener(link) { 
var side = link.getAttribute("data-action"); 
if (side == 'Mark as A' || side == 'Mark as B') { 
    highlighter(side); 
    $.ajax({ 
    method: "POST", 
    url: "http://localhost:3000/", 
    dataType: "json", 
    data: JSON.stringify({"rangyobject" : rangy.saveSelection()}), 
    contentType: "application/json; charset=utf-8", 
    success: function(result) { 
     console.log('yei'); 
    } 
    }); 
} 
toggleMenuOff(); 
} 

function loadHighlights() { 
window.addEventListener("load", function load(event){ 
$.ajax({ 
    method: "GET", 
    url: "http://localhost:3000/ranges", 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    success: function(result) { 
    console.log('loadHighlights results: ', result[0].rangyObject); 
    rangy.restoreSelection(result[0].rangyObject); 
    } 
    }); 

}, false); };

Also einfach speichert die rangy.saveSelection() in der DB und dann bekommen es zurück und versuchen zu rangy.restoreSelection auf dem ersten Element. die console.log sieht gut aus, aber ich bin ein Fehler in der Konsole bekommen:

Fehler: Fehler bei Rangy WrappedRange Modul: create(): Parameter muss ein Window-Objekt oder DOM-Knoten sein

Antwort

-1
  1. rangy.saveSelection() sieht wie folgt in der Konsole:

    {win: undefined, rangeInfos: Array, wieder hergestellt: false}

  2. Hinweis "win: undefined"

  3. Als ich es an die DB zu senden, verwende ich

    Daten: JSON.stringify ({ "rangyObject": rangy.saveSelection()})

  4. Wenn es wieder aus dem DB abrufen es sieht aus wie :

    {rangeInfos: Array, wieder hergestellt: false}

  5. Beachten Sie, dass der 'gewinn' von der

konnte ich die db speichern weggelassen wurde Verwenden Sie die Serialisierungs- und Deserialisierungsfunktionen, um dieses Problem zu umgehen, aber diese erstellen die IDs nicht mit den von ihnen erstellten Spannen, sodass ich auf ein anderes Problem stieß.

+0

@TimDown könnte helfen können –

Verwandte Themen