Как вызвать параметризованную функцию JavaScript в WebKit? - PullRequest
3 голосов
/ 16 ноября 2010

Я пытаюсь передать 2 параметра в функцию javascript. Этот код webview.loadUrl("javascript: function_to_call();"); работает без параметров, но я не могу использовать его с параметрами.

Это соединение javascript:

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 с желаемыми изменениями каждый раз, когдаМне необходимо.Это не лучшее решение, но оно работает.Спасибо всем за помощь.

Ответы [ 2 ]

8 голосов
/ 16 ноября 2010

То, что у тебя, выглядит отлично. Вот пример проекта , который демонстрирует почти идентичный синтаксис.

5 голосов
/ 26 июля 2012

Попробуйте изменить webView.loadUrl("javascript:changeLocation( -0.1279688 ,51.5077286 );") ;

до webView.loadUrl("javascript:changeLocation( '-0.1279688' ,'51.5077286' );") ; и, возможно, избавиться от ;

У меня просто была похожая проблема, и я исправил ее, добавив '' вокруг моего параметра. В моем решении также не было точки с запятой, и она сработала, поэтому вам, возможно, придется удалить ее.

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