因为需求H5端要做定位及选址相关功能 故调研了 腾讯的sdk
sdk地址: 地图组件 | 腾讯位置服务
但是使用时发现一些问题,iframe方式的调用 无法获取精准的定位,无论怎么调试都不行,后来使用 backurl调用的方式 问题解决,
但是!!!! 使用backurl 却引发了另一个问题!!! 页面无法正常跳回到原来选地址之前的页面!!!!!!!
我们的项目 是pc/H5两套代码,但是在配服务器nginx的时候,由于H5没有自己独立的域名,所以和PC端使用了同一个域名,所以是在同一个 nginx的server里面配置了区分H5还是PC的判断 如下:
location / {
root /usr/oncoSchema/distNew;
#配置pc/h5适配
if ($http_user_agent ~* '(Android|webOS|iPhone|iPod|BlackBerry)') {
root /usr/oncoSchema/distNewH5;
}
index index.html index.htm;
try_files $uri $uri/ /index.html last;
}
配置多次检查确实是没什么问题:但是问题出在哪里呢??
经过多次测试后,突然发现每次跳转回去的地址好像都是默认的pc, 因此判断 : 跳转回来的路径没有经过H5适配的判断代码块,为什么呢??
突然想起来,人家是直接服务器回调跳转的地址啊!!!!! 怎么会有H5页面的相关属性呢!!!
问题找到了,但是怎么解决呢?因为目前H5/PC都写在一个location里面了,肯定是没办法区分开让它回调跳转到H5的页面了,
最后只能让前端将H5的页面加一个只有H5页面的路由 比如 :/h5/user/menu/..
然后做以下配置: 另起一个location去做判断
location /h5 {
root /usr/oncoSchema/distNewH5;
try_files $uri $uri/ @router;
index index.html;
}
最后,问题解决