javascript
  • android
  • jquery
  • uiwebview
  • android-webview
  • 2015-10-16 35 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

    相关问题