2017-07-20 5 views
0

J'écris une application web qui aura des fonctionnalités OneNote. Mais j'ai rencontré un problème. Pour Updata une page, API OneNote nécessite d'envoyer ensemble de changements au format comme celui-ci:N'importe quelle méthode/algorithme intelligent pour trouver ce qui a changé dans la structure html? (React.js microsoft OneNote api)

[ 
{ 
    'target':'#div1', 
    'action':'append', 
    'position':'before', 
    'content':'<img data-id="first-child" src="image-url-or-part-name" />' 
}, 
{ 
    'target':'#div1', 
    'action':'append', 
    'content':'<p data-id="last-child">New paragraph appended to the div</p>' 
} 
] 

https://msdn.microsoft.com/en-us/office/office365/howto/onenote-update-page

Donc, si vous utilisez un éditeur de texte, par exemple réagir-rte (bibliothèque NPM) comment suis-je censé trouver mes changements dans un format comme ça? Dois-je créer moi-même un algorithme et comparer le contenu initial et final pour savoir ce qui a changé?

+0

peut-être essayer https://draftjs.org/ qui a très chouette caractéristiques pour le suivi des changements – azium

Répondre

1

Une solution Naive pourrait être pour vous mettre à jour la page entière à l'aide cible "corps" - essentiellement:

https://msdn.microsoft.com/en-us/office/office365/howto/onenote-update-page

[ 
{ 
    'target':'body', 
    'action':'replace' 
    'content':'...' 
} 
] 
+0

Ouais, je pensais à ce sujet, mais je n'ai pas encore essayé .. Je me demande si cela va fonctionner, merci bien ... – Jonas

+0

Je pense qu'il devrait;) –

+0

J'ai essayé la solution. Fonctionne très au hasard ... Idk, c'est assez difficile d'utiliser leur API. Par exemple, si je reçois une réponse

some content
another div content
remplacement Parfois corps édite seulement la première div .... Bon sang, une tâche de maux de tête ... J'ai aussi essayé simplement sélectionner tous les divs parents (l'intérieur du corps) et remplacez-les par des machines, mais ça reste quand même ... parfois ça ne marche pas ... J'aimerais pouvoir trouver un exemple (REAL) décent de leur utilisation de l'API – Jonas