2016-07-07 58 views
0

我想開發一個網站,我需要一些註釋。 我發現了一個很棒的js庫annotator.js,但我似乎無法啓動它。Annotator.js從json加載註釋

我想突出顯示一些註釋,當頁面加載,但我似乎無法得到正確的。我收到一個JS錯誤說.slice不是一個函數,但無論我如何更改json對象,我都無法讓它工作。

任何人都可以幫我理解它是如何工作的嗎?我已經通過他們的文檔,但我似乎無法加載任何東西。

這是我到目前爲止有:

<div id="annon"> 
    Lorem ipsum 
</div> 

<script> 
var annotator = $('#annon').annotator(); 
annotator.annotator('loadAnnotations', 
{"rows": 
[{ 
    "quote": "Lorem", 
    "ranges": 
     [{ 
      "endOffset": 5, 
      "startOffset": 0, 
      "end": "/", 
      "start": "/" 
     }], 
    "text": "Lorem", "id": 1 
}], 
,"total": 1} 
</script> 

回答

0

嗯,我設法讓註釋的詞點亮。 我已經在瀏覽器中完成了對象的結構,以便我可以更正RANGE屬性。這是我的解決方案:

annotator.loadAnnotations([{ 
"id": "39fc339cf058bd22176771b3e3187329", 
"created": "2011-05-24T18:52:08.036814", 
"updated": "2011-05-26T12:17:05.012544", 
"text": "This is a comment",     
"quote": "Lorem",   
"ranges": 
[{ 
    "start": "/div[1]",   
    "end": "/div[1]",   
    "startOffset": 17,      
    "endOffset": 22      
}] 

什麼我有問題undestanding就是爲什麼開始偏移爲17考慮LOREM是在div的第一個字。

如果任何人都可以解釋,那會很棒!

LE 我確定了17-22的問題。這是div中的實際空間,當我將它們放在新的行中時,我的IDE添加了它。

1

從我可以告訴,你傳遞給註釋對象是不正確。要在註釋對象的數組(這裏格式:http://docs.annotatorjs.org/en/stable/annotation-format.html)通過 例:

var annotator = $('#annon').annotator(); 
    annotator.annotator('loadAnnotations', [{ 
     "quote": "Lorem", 
     "ranges": [{ 
      "endOffset": 5, 
      "startOffset": 0, 
      "end": "/", 
      "start": "/" 
     }], 
     "text": "A comment.", 
     "id": 1 
    }]); 

然而,當我運行此,註釋抱怨你在開始/結束範圍設置的XPath。您必須弄清楚如何正確設置範圍以使文本正確突出顯示。

+0

感謝您的回答。我不知道這個錯誤了。然而,我已經改變了結尾,並開始''並添加了標籤屬性值爲[「testTag」],但是LOREM字仍然不亮。我需要做任何具體的事情嗎? –