javascript
  • android
  • jquery
  • uiwebview
  • android-webview
  • 2015-10-16 27 views 0 likes 
    0

    我正在研究android/ios應用程序。我需要一些無限滾動,所以當用戶滾動和到達頁面的結尾時,新的內容將爲他加載。Javascript/jQuery無法將HTML附加到正文

    在本機代碼中,我將新內容存儲在一個字符串中,然後用javascript/jquery將它附加到頁面上。

    爲Android:

    String js = "javascript:(function() { document.body.innerHTML += '" + newContent + "';}())"; 
    loadUrl(js); 
    

    到目前爲止好,但如果newContent包含一組特定字符這個代碼將失敗並沒有什麼附加。

    我迄今發現該字符:'\n«» 

    如果我替換newContent這個字符,然後代碼工作正常,新內容將追加到身體。

    問題是每次我認爲它結束了,我發現所有illigal字符一個新的字符導致我的代碼失敗。

    我也試圖解析我的stringhtml然後添加它,但它也失敗了。

    js = "javascript:(function(){var html = $.parseHTML('"+newContent+"'); $(\"body\").append(html);}())"; 
    loadUrl(js); 
    

    所以是那裏得到這種非法字符的乘坐任何通用的方式?

    任何幫助,將不勝感激。

    +0

    @GuruprasadRao在哪裏? – mehdok

    回答

    1

    您的文字包含導致錯誤的未轉義的特殊字符。 嘗試用encodeURI

    編輯逃逸文本: 這可能是雖然那的JavaScript已經失敗,因爲特殊字符,那麼你就必須已經逃脫與Java的字符串。嘗試谷歌「java轉義字符串的JavaScript」,你會發現很多信息。

    +0

    tnx很多,我會試試看。 – mehdok

    +0

    我試過'String results = StringEscapeUtils.escapeJavaScript(str);'我給了我這樣的東西:'

    \ u064A \ u0648 \ u0645 \ u0643 \ u0627 \ u0645 \ u0644。 3 \ u0640 \ u0627 \ u0644 \ u0642 \ u0635 \ u0631

    ',它有時會起作用,有時候不會!有什麼問題? – mehdok

    +0

    我仍然需要替換'«''»'' ',如何擺脫這些? – mehdok

    相關問題