如何在WebKit中调用参数化的javascript函数?

时间:2010-11-16 15:03:49

标签: javascript android webview proj4js mobile-webkit

我正在尝试将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 个答案:

答案 0 :(得分:8)

你看起来很好。 Here is a sample project演示了几乎完全相同的语法。

答案 1 :(得分:5)

尝试更改webView.loadUrl("javascript:changeLocation( -0.1279688 ,51.5077286 );") ;

webView.loadUrl("javascript:changeLocation( '-0.1279688' ,'51.5077286' );") ; 并且可能摆脱;

我遇到了类似的问题,我通过在参数周围添加''来修复它。我的解决方案中没有分号,但它可以工作,因此您可能需要将其删除。