JSON不能与Opera Mini浏览器一起使用

时间:2012-07-13 11:33:12

标签: javascript json google-maps-api-3 opera opera-mini

我正在通过在地图上设置标记来测试谷歌地图API。单击地图时,它会向php发送JSON请求,将经度和经度保存在mysql数据库中,然后使用google maps api添加带有javascript函数的标记,非常简单。问题是它正在使用chrome和firefox,但是它不能用我的带有opera mini浏览器的手机,它是一个android 2.3.4。

手机附带的导航仪在显示标记时没有问题。

代码:(2个功能)

function agregoCoordenadasEnBaseDeDatos(punto)
{
    //  alert(JSON.encode(punto));
    punto['a']=punto['$a'];
    new Request({'url':'insertarMarcador.php?puntoCorchs=' + JSON.encode(punto), 
                                 'method':'get', 
                                 'onSuccess':function(o){agregarPunto(punto);},
                                 'onFailure':function(o){alert("Pelate!!!  "+o)}}).send();
}
     function agregarPunto(punto)
     {

        var marker = new google.maps.Marker({position: punto, 
                                                        map: first_map, 
                                                    title:'Hola Mundo!!!', 
                                                    icon:'IMAGEFILEURLDELETED.GIF', optimized: false});
    google.maps.event.addListener(marker, 'click', function() {
    first_map.setZoom(8);
    first_map.setCenter(marker.getPosition());    
        });         
}

这是一个已知问题吗?

我是否需要使用关于哪个浏览器访问我的网站的if语句?

1 个答案:

答案 0 :(得分:2)

Opera Mini是一个瘦客户端,它接收Opera Server上预编译的“智能”映像(OBML)。当您输入地址时,手机上的瘦客户端会将其发送到Opera服务器,后者会向远程服务器发送真实的HTTP请求。然后Opera服务器接收响应,创建映像并将其发送回瘦客户端。所以本身没有css,html,js到达瘦客户端。只是OBML图像。因此,当您在客户端触发操作时,如果不必通过服务器进行往返,则无效。有关XMLHttpRequest事件的特定支持,请参阅 guidelines of Opera Mini 。这是在节省带宽(80%)和设备上的实时交互之间的权衡。那就是说Opera正在努力逐步改进它。

您是否也尝试了Opera Mobile 12,与Opera Mini不同的产品?