2011-01-19 90 views
0

我試圖獲得一些針對AJAXChat的通知。要做到這一點,我想要做的就是讓頁面的標題閃爍直到聚焦。爲此,我使用jquery-titlealert plugin。問題是爲onload事件生成的html是在這裏顯示的js文件內生成的javascript語法

return '<div id="' 
      + this.getMessageDocumentID(messageID) 
      + '" class="' 
      + rowClass 
      + '">' 
      + this.getDeletionLink(messageID, userID, userRole, channelID) 
      + dateTime 
      + '<span class="' 
      + userClass 
      + '"' 
      + this.getChatListUserNameTitle(userID, userName, userRole, ip) 
      + ' dir="' 
      + this.baseDirection 
      + '" onload="$.titleAlert('New Message');">' 
      + userName 
      + '</span>' 
      + colon 
      + this.replaceText(messageText) 
      + '</div>'; 
    return 

當我使用它時,它打破了頁面。如果我將('New Message')替換爲(New Message),則頁面會再次加載,但通知無法正常工作。我認爲這是因爲它在javascript中顯示了一個javascript函數。任何人在這裏看到我失蹤的東西?

+0

能不能請你格式化你的代碼? – polarblau 2011-01-19 21:40:19

回答

2

你試過轉義引號嗎?即:

+ '" onload="$.titleAlert(\'New Message\');">' 

任何單引號(')一個單引號字符(或雙引號字符串中雙引號("))內之前,它需要一個反斜槓(\)。有關字符串和正確字符轉義的更多信息,請參閱MDN String Literals documentation

+0

頁面不再破壞,但它仍然不能正常工作,所以一定不是問題所在。無論如何,我會給你答案的答案,因爲你回答了這個問題,對於爲什麼解釋徹底。 – tking 2011-01-19 21:45:51

0

您需要轉義引號。 更改此

'" onload="$.titleAlert('New Message');">' 

這個

'" onload="$.titleAlert(\'New Message\');">' 
0

嘗試逃離apostraphe的正確:

+ '" onload="$.titleAlert(\'New Message\');">'