Как вызвать параметризованную функцию JavaScript в WebKit?
-
11-10-2019 - |
Вопрос
Я пытаюсь передать 2 параметра в функцию JavaScript. Этот код webview.loadUrl("javascript: function_to_call();");
работает нормально без параметров, но я не мог использовать его с параметрами.
Это JavaScript Junction:
function changeLocation(_lon , _lat){
var zoom=16;
var lonLat = new OpenLayers.LonLat( _lon , _lat ).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject());
map.setCenter (lonLat, zoom);
}
И вот как я называю это из Java:
webView.loadUrl("javascript:changeLocation( -0.1279688 ,51.5077286 );") ;
РЕДАКТИРОВАТЬ: Я не мог найти проблему, и я изменил свой подход, теперь я вводим всю функцию JavaScript с желаемыми изменениями каждый раз, когда мне нужно. Это не лучшее решение, но это работает. Спасибо всем за вашу помощь.
Решение
То, что у вас есть, выглядит нормально. Вот пример проекта Это демонстрирует почти идентичный синтаксис.
Другие советы
Попробуйте измениться webView.loadUrl("javascript:changeLocation( -0.1279688 ,51.5077286 );") ;
к webView.loadUrl("javascript:changeLocation( '-0.1279688' ,'51.5077286' );") ;
И, может быть, избавиться от ;
У меня только что была похожая проблема, и я исправил ее, добавив ''
вокруг моего параметра. У меня тоже не было полуколона в моем решении, и это сработало, поэтому вам может потребоваться удалить его.