2014-01-20 3 views
1

В одном из моих приложений я получаю HTML-контент и добавляю Javascript-изображения и загружаю контент с помощью loadURL(). При нажатии на изображение вызываются соответствующие функции javascript. Функции: «Увеличить шрифт», «Уменьшить шрифт» & «Поделиться».WebView на Android 4.4 - Изменение шрифта с использованием JavaScript

Увеличение & уменьшения размера шрифта осуществляется с помощью функции JavaScript WebView.loadUrl ("JavaScript: getElementById ('Title') ... и т.д.);

Недавно я изменил свою цель приложения API, как 19 (Android 4.4). Теперь я замечаю, что WebPage становится пустым, когда вызывается увеличение или уменьшение размера шрифта. Однако Share продолжает работать нормально. Я добавил аннотацию @JavaScriptInterface, как требуется в Android 4.4.

(Вся настройка работал, когда цель была 16). Просьба сообщить, если кто-либо столкнулся с этой проблемой.

ответ

4

В Android 4.4 и выше вы больше не можете загружать javascript в метод loadUrl() WebView. В настоящее время существует новый метод, называемый evaluateJavascript(...), и он используется следующим образом:

String javascript = "INSERT JAVASCRIPT"; 
ValueCallback<String> resultCallback; 

// ...initialize resultCallback here 

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
    mWebView.evaluateJavascript(javascript, resultCallback); 
} else { 
    mWebView.loadUrl(javascript); 
} 
Смежные вопросы