2010-12-10 2 views
0

Я пишу программу для Android с помощью Webview, которая может использовать жесткий ключ на устройстве, без проблем.Кнопка Soft Back в Android с помощью Webview

Но когда программа выходит «снаружи» и перемещается по страницам HTML/Javascript внутри «обертки» Webview, он не может корректно обрабатывать href = «javascript: window.history.back();» , потому что он не поднимается на один уровень, просто возвращается и пересылает предыдущую страницу.

Что я делаю неправильно?

ответ

0

Функция javascript.window.history.back() предназначена для перехода на один шаг в истории браузера. Это не означает (даже на платформах Android) эмулировать щелчок кнопки возврата устройства.

Я считаю, что компонент WebView перехватывает нажатие кнопки возврата устройства, чтобы пользователь мог вернуться назад, хотя история до момента, когда был создан WebView (т. Е. Просматривалась первая страница).

Эти две функции полностью раздельные, определенные на разных языках, и их нельзя использовать для другого. Если вы хотите реализовать функциональность кнопки возврата устройства, вам нужно будет сделать это в коде приложения, а не на веб-странице (вызов toKeyPress() должен сделать трюк).

+0

Я не говорю о кнопке возврата устройства; он работает для меня. Я хочу иметь такую ​​же функциональность в мягких кнопках на страницах браузера, которые вызывают Webview; но здесь javascript window.history.back() просто прекратил работу. Это моя проблема. – miguel 2010-12-10 20:56:04