Android 应用程序和网站 JavaScript
Android app and website javascript
我正在尝试构建一个 android 应用程序,我相处得很好,但我在通过网络视图查看的网页调用 JavaScript 函数时遇到了问题。
我使用本教程在网络视图中获取地理位置:http://turbomanage.wordpress.com/2012/04/23/how-to-enable-geolocation-in-a-webview-android/
现在我想在我的页面中调用这个函数:
var t=setTimeout("navigator.geolocation.getCurrentPosition(foundLocation);",15000);
function foundLocation(position)
{
var lat = position.coords.latitude;
var long = position.coords.longitude;
window.location.href='http://rittenservice.nl/rittensysteem2.php?lat='+lat+'&long='+long+'';
}
当调用此函数时,它应该使用 url 重新加载页面,以便我可以使用 PHP 保存位置
有谁知道为什么它不起作用?
网页视图代码:
public class GeoWebViewActivity extends Activity {
public class GeoWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("androidurl://")) {
url = url.replaceAll("androidurl://", "http://");
}
// When user clicks a hyperlink, load in the existing WebView
view.loadUrl(url);
return true;
}
}
/**
* WebChromeClient subclass handles UI-related calls
* Note: think chrome as in decoration, not the Chrome browser
*/
public class GeoWebChromeClient extends WebChromeClient {
@Override
public void onGeolocationPermissionsShowPrompt(String origin,
GeolocationPermissions.Callback callback) {
// Always grant permission since the app itself requires location
// permission and the user has therefore already granted it
callback.invoke(origin, true, false);
}
}
WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_geo_web_view);
mWebView = (WebView) findViewById(R.id.webView1);
// Brower niceties -- pinch / zoom, follow links in place
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.setWebViewClient(new GeoWebViewClient());
// Below required for geolocation
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setGeolocationEnabled(true);
mWebView.setWebChromeClient(new GeoWebChromeClient());
// Load google.com
mWebView.loadUrl("http://www.rittenservice.nl/keypad.php");
}
@Override
public void onBackPressed() {
// Pop the browser back stack or exit the activity
if (mWebView.canGoBack()) {
mWebView.goBack();
}
else {
super.onBackPressed();
}
}
}
mWebView.getSettings().setJavaScriptEnabled(true);
在显示 Web 视图之前添加该代码。这允许javascript在Web视图中运行
相关文章:
- 我想用Javascript网站在开放的Chrome浏览器上执行功能
- 使用指针为ios应用程序&Javascript网站
- 在前端javascript网站中弹出图片
- JavaScript网站与工作实例
- 带有HTML5元素的JavaScript网站欢迎加载器
- 将当前 URL 附加到 Javascript 网站徽章嵌入以进行跟踪
- 来自 JavaScript 网站的推文输入字段
- 如何识别正在运行的 JavaScript 网站
- 我如何使用java与javascript网站进行交互
- 使用Chrome抓取工具从JavaScript网站中提取数据
- 正在寻找一个杀手级的javascript/网站监控/调试工具
- JavaScript -网站可以看到用户脚本生成的错误/控制台日志吗?
- Javascript网站搜索在CD-ROM网站没有复制和粘贴
- JavaScript网站漏洞
- 什么版本控制软件将是最好的HTML/CSS/JavaScript网站
- 谷歌更新和AngularJS/JavaScript网站
- 为多模块Javascript网站应用Backbone.js
- Javascript:网站上描述框的onmouseover函数
- 使用WebKit和Selenium工具进行Javascript网站抓取
- 在javascript网站中保持测验分数