Articles of JavaScript

如何使html5文本字段显示数字键盘?

PhoneGap的>的android 我知道我可以使用type="number"来显示数字键盘,但问题是我想要重新格式化input作为用户input的价格。所以它将在美元和美分的格式(如$343,23.50 )和type="number"字段不允许数字字符以外。 所以我想要一个文本字段,但它应该显示数字键盘上的水龙头。 可能吗?

一个button – 3个app store – 如何将用户redirect到相应的app store?

我想要创build一个简单的button,将移动用户redirect到相应的app store链接,具体取决于他们正在运行的移动操作系统(ios,android或wp8) – 或者如果不是在移动设备上,则会发送包含适当链接的电子邮件…有任何想法吗?

Cordova文件插件 – 从www文件夹读取?

我在Android上遇到问题(未在其他平台上testing过),我想使用cordova文件API从/ www文件夹读取文件。 互联网上有关于这是否可能的信息有冲突。 我跟着一个例子: window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "www/index.html", gotFile, fail); 但是我得到错误1(文件未find)。 我可以使用AJAX来检索我需要的文件,但它不适合我的用例。 我想查询/ www文件夹中的目录并读取一个dynamic命名的文件。 有任何想法吗? 我想有一个更新的答案,因为我见过的人已经超过1年了: 你可以使用PhoneGap的JS方法阅读www文件夹中的文件吗? 提前致谢。

触发Android下载pipe理器cordova

我试图下载一个Cordova应用程序的文件,这是使用文件传输插件较小的文件工作正常,但对于更大的文件,我想触发Android下载pipe理器。 这是可能的(可能与一个插件)? 我需要能够改变请求的标题,所以'cordova插件后台下载'插件没有帮助我。 编辑:我已经解决了我的问题,没有使用Android下载pipe理器。 由于我的应用程序将传输的大多数文件<50mb,因此触发DM并不是绝对必要的。 这个问题已经得到了很多关注,因为不是我的赏金。 虽然我仍然想要一个很好的答案,但我没有太多的时间来testing答案。

无法更新视图,数据绑定不起作用 – Angularjs和PhoneGap

我正在尝试使用PhoneGap(适用于Android设备)制作简单的待办事项应用程序。 我还使用AngularJS进行数据绑定。 我想显示保存在数据库中的任务列表。 当我使用chromedebugging器进行debugging时,可以看到SQL请求正常工作,但是在模拟器或设备上启动应用程序时没有任何显示。 DbCtrl.js var myApp = angular.module('myApp', []); function DbCtrl($scope) { $scope.init = function() { document.addEventListener("deviceready", onDeviceReady, false); } function onDeviceReady() { var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000); db.transaction(populateDB, errorDB, successDB); } function populateDB(tx) { tx.executeSql('DROP TABLE IF EXISTS DEMO'); tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, todo)'); tx.executeSql('INSERT INTO […]

在WebView中注入Javascript桥梁

我想从Android的网页中抽取一些东西。 我知道有图书馆来parsingHTML,但我想也许我可以做一点点的欺骗。 这是我正在做的事情 使用应用程序上下文以编程方式创buildWebView,因此不必在UI中显示。 加载网页 附加JS界面 注入一些Javascript与主机应用程序进行交互 这是一些代码… public void getLatestVersion(){ Log.e("Testing", "getLatestVersion called…"); WebView webview = new WebView(context.getApplicationContext()); webview.loadUrl("https://example.com"); webview.addJavascriptInterface(new jsInterface(), "Droid"); webview.loadUrl("javascript: window.onload=function(){ Droid.showToast('testing!'); }"); } class jsInterface{ @JavascriptInterface public void showToast(String message){ Log.e("Testing", message); Toast.makeText(context, message, Toast.LENGTH_LONG).show(); } } 由于WebView在用户界面中不可见,因此很难判断哪个部分已经损坏。 我所知道的是调用的第一个Log被调用,但JavascriptInterface中的Log和Toast从不显示。 我试图做甚至可能吗? 如果是这样,我做错了什么? 如果没有,为什么不呢? 编辑 在用户界面中停留testing视图,显然第二次调用loadUrl不起作用。 无论我尝试注入什么Javascript,它都不起作用。 编辑2 我觉得愚蠢的忘记启用Javascript,但它仍然不工作..我已经添加了以下几行.. WebSettings webSettings = […]

input上的事件监听器(onkeypress,onkeydown)在Android数字键盘上不起作用

我不知道为什么,但经过数小时的处理,我可以说有什么不对劲。 我有一个简单的input <input type="number"> 我希望它只接受数字(数字[0-9]),没有更多。 为了达到这个目的,我添加了一个事件监听器来控制事件的键码。 没有什么特别的,几乎所有的平台上的一切工作,与Android的问题。 在这里 types=“数字” 导致数字键盘出现 – 这很好 – 还有一些其他字符(逗号,点,连字符…)。 当你按下这个特殊字符时,这个行为很奇怪: onkeypress事件:绝对不会开火 (为什么???) onkeydown事件:事件正在触发,相关函数被调用。 问题是浏览器已经input了字符 (为什么??),所以不可能调用“event”的“preventDefault”函数。 input事件:事件正在触发,但“事件”对象的“代码”和“哪些”属性未定义。 而且,和以前一样,浏览器已经input了字符 。 我错过了什么? 我的环境由AngularJs支持,所以我在一个指令中设置了事件监听器。 但是用jQuery做同样的事情并不能解决问题。 有人可以build议使用“$parsing器”来推送我的自定义值,而不需要的字符。 无论如何,这不工作我猜,因为input的types是“数字”,它只期望数字(另一种方式来说Android上的浏览器做错了什么..) 这里有一个工作小提琴 ,在Android上打开它。 谢谢

Raphaeljs图书馆和智能手机

我在我的网站上使用了叫做raphaeljs的worderfull javascript库来绘制地图,animation和animationfunction。 我注意到,使用这个库的脚本完全适用于iPhone,但不适用于Android 。 有人可以证实这一点(只要在raphaeljs的演示页面会告诉你,如果它不起作用),如果没有,有人知道为什么,什么可以testing。 谢谢

移动webkit内存消耗

我们正在为移动设备(Android + iOS)开发HTML5应用程序。 但是最大的问题是内存消耗 – 内存使用量增长非常快,应用程序变得迟缓。 与HTML(JavaScript)应用程序中的内存泄漏作斗争的最佳实践,提示,工具,解决scheme等是什么? PS我们只针对Webkit浏览器

点击在WebView中不起作用

我有我的android应用程序的webview。 我已经加载了url: https : //imsnsit.org/imsnsit/notifications.php 有各种通知的链接。 当我点击它们时,我的WebView没有任何作用。 它正在处理所有其他事情 – Chrome(Android),Chrome(桌面)。 链接很好。 有一件事我注意到通知有PHP文件的href。 只是导航到该链接不起作用。 我得到无效的操作。 再加上链接不是静态的,每次刷新页面时都会改变(只是plum_url.php的参数)。 我已经在使用这些function。 没什么帮助。 webSettings.setJavaScriptEnabled(true); webSettings.setJavaScriptCanOpenWindowsAutomatically(true); webSettings.setDomStorageEnabled(true);