android: веб-консоль (24359): необработанная ошибка синтаксиса: неожиданный токен, если примерно: blank: 334 - PullRequest
2 голосов
/ 21 марта 2012

Я использую замену webview на просмотр списка.теперь я могу получить html первой страницы по webview, когда страница больше, чем одна страница, мне нужно отобразить «next page» внизу webview, я использую javascript для обработки этого следующим образом:

<div id="nextpagebox"></div>
<div id="nextpagebtnbox" style="display:none;">
<p id="nextpagebtn" class="nextpagebtn_untouch"ontouchstart="javascript:this.className='nextpagebtn_touch';"ontouchend="javascript:this.className='nextpagebtn_untouch'"onclick="jsinterface.nextPage();">next page</p><p id="nextpagebtn_isrunning" class="nextpagebtn_untouch" style="display:none;">loading...</p></div><script>type="text/javascript">jsinterface.interfaceNextPage();</script>

метод interfaceNextPage () в классе JsInterface имеет вид:

public void interfaceNextPage() {
        Log.i(TAG, "interfaceNextPageBtnReload");
        if ((dataParser != null) && (dataParser.getReplies() != null))
        {
          String str;
          if (!"".equals(dataParser.getReplies()))
            str = dataParser.getReplies();
          else
            str = "0";
          if ((int)Math.ceil(Integer.parseInt(str) / ppp_default_page) <= page)
              webView.loadUrl("javascript:document.getElementById(\"nextpagebtnbox\").style.display='none';");
          else
              webView.loadUrl("javascript:document.getElementById(\"nextpagebtnbox\").style.display='block';");
        }
    }

затем я предварительно устанавливаю webView в onCreage ().

webView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
JsInterface jsInterface = new JsInterface();
webView.addJavascriptInterface(jsInterface, "jsinterface");
webView.setWebChromeClient(new MyWebChromeClient());

последнее, я запускаю его, "Следующая страница "не отображается, и из журнала я получил некоторые ошибки:

E/Web Console(24731): Uncaught SyntaxError: Unexpected token if at about:blank:278
E/Web Console(24731): Uncaught SyntaxError: Unexpected token if at about:blank:291
E/Web Console(24731): Uncaught SyntaxError: Unexpected token if at about:blank:326
E/Web Console(24731): Uncaught SyntaxError: Unexpected token if at about:blank:339
E/Web Console(24731): Uncaught SyntaxError: Unexpected token if at about:blank:374
E/Web Console(24731): Uncaught SyntaxError: Unexpected token if at about:blank:387
E/Web Console(24731): Uncaught SyntaxError: Unexpected token if at about:blank:422
E/Web Console(24731): Uncaught SyntaxError: Unexpected token if at about:blank:435
E/Web Console(24731): Uncaught TypeError: Object
com.bbk.forumclient.activity.PostListActivity$JsInterface@4054b358 has no method'interfaceNextPage' at about:blank:

пожалуйста, обратите внимание: когда я комментирую код" webView.setWebChromeClient (new MyWebChromeClient ());»здесь нет никаких проблем, и interfaceNextPage () тоже не вызывается, это так странно.и я пишу этот код этим методом, из журнала, метод javascript может вызывать код Java. Вопрос в следующем: что не так с моим методом отображения «следующей страницы».спасибо.

1 Ответ

0 голосов
/ 16 мая 2012

Есть несколько сообщений, предлагающих добавить

webView.getSettings().setDomStorageEnabled(true);

Я не уверен, что это ваша проблема, но попробовать это быстро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...