修复当笔记的Title中有HTML代码时,会被页面解析的问题

This commit is contained in:
dds_feng
2015-01-19 22:24:06 +08:00
parent ac99e20aa4
commit 014a141808
2 changed files with 13 additions and 8 deletions

File diff suppressed because one or more lines are too long

View File

@ -609,7 +609,7 @@ Note.renderChangedNote = function(changedNote) {
// 找到左侧相应的note // 找到左侧相应的note
var $leftNoteNav = $(tt('[noteId="?"]', changedNote.NoteId)); var $leftNoteNav = $(tt('[noteId="?"]', changedNote.NoteId));
if(changedNote.Title) { if(changedNote.Title) {
$leftNoteNav.find(".item-title").html(changedNote.Title); $leftNoteNav.find(".item-title").text(changedNote.Title);
} }
if(changedNote.Desc) { if(changedNote.Desc) {
$leftNoteNav.find(".desc").html(changedNote.Desc); $leftNoteNav.find(".desc").html(changedNote.Desc);
@ -774,6 +774,11 @@ Note.renderNotes = function(notes, forNewNote, isShared) {
})(i), i*2000); })(i), i*2000);
} }
} }
Note._toHtmlEntity = function(html){
return (html + '').replace(/</g, '&lt;').replace(/>/g, '&gt;');
};
Note._renderNotes = function(notes, forNewNote, isShared, tang) { // 第几趟 Note._renderNotes = function(notes, forNewNote, isShared, tang) { // 第几趟
var baseClasses = "item-my"; var baseClasses = "item-my";
if(isShared) { if(isShared) {
@ -789,9 +794,9 @@ Note._renderNotes = function(notes, forNewNote, isShared, tang) { // 第几趟
var note = notes[i]; var note = notes[i];
var tmp; var tmp;
if(note.ImgSrc) { if(note.ImgSrc) {
tmp = tt(Note.itemTpl, classes, note.NoteId, note.ImgSrc, note.Title, Notebook.getNotebookTitle(note.NotebookId), goNowToDatetime(note.UpdatedTime), note.Desc); tmp = tt(Note.itemTpl, classes, note.NoteId, note.ImgSrc, Note._toHtmlEntity(note.Title), Notebook.getNotebookTitle(note.NotebookId), goNowToDatetime(note.UpdatedTime), note.Desc);
} else { } else {
tmp = tt(Note.itemTplNoImg, classes, note.NoteId, note.Title, Notebook.getNotebookTitle(note.NotebookId), goNowToDatetime(note.UpdatedTime), note.Desc); tmp = tt(Note.itemTplNoImg, classes, note.NoteId, Note._toHtmlEntity(note.Title), Notebook.getNotebookTitle(note.NotebookId), goNowToDatetime(note.UpdatedTime), note.Desc);
} }
if(!note.IsBlog) { if(!note.IsBlog) {
tmp = $(tmp); tmp = $(tmp);
@ -849,12 +854,12 @@ Note.newNote = function(notebookId, isShare, fromUserId, isMarkdown) {
} }
var notebook = Notebook.getNotebook(notebookId); var notebook = Notebook.getNotebook(notebookId);
var notebookTitle = notebook ? notebook.Title : ""; var notebookTitle = notebook ? Note._toHtmlEntity(notebook.Title) : "";
var curDate = getCurDate(); var curDate = getCurDate();
if(isShare) { if(isShare) {
newItem = tt(Note.newItemTpl, baseClasses, fromUserId, note.NoteId, note.Title, notebookTitle, curDate, ""); newItem = tt(Note.newItemTpl, baseClasses, fromUserId, note.NoteId, Note._toHtmlEntity(note.Title), notebookTitle, curDate, "");
} else { } else {
newItem = tt(Note.newItemTpl, baseClasses, "", note.NoteId, note.Title, notebookTitle, curDate, ""); newItem = tt(Note.newItemTpl, baseClasses, "", note.NoteId, Note._toHtmlEntity(note.Title), notebookTitle, curDate, "");
} }
// notebook是否是Blog // notebook是否是Blog
@ -1118,7 +1123,7 @@ Note.hideReadOnly = function() {
// read only // read only
Note.renderNoteReadOnly = function(note) { Note.renderNoteReadOnly = function(note) {
Note.showReadOnly(); Note.showReadOnly();
$("#noteReadTitle").html(note.Title); $("#noteReadTitle").text(note.Title);
Tag.renderReadOnlyTags(note.Tags); Tag.renderReadOnlyTags(note.Tags);