Articles of JavaScript

Phonegap 3 – 警报,如果我点击确定崩溃的浏览器

我不能拿出一个很好的解释,但是当我包括 <script type="text/javascript" src="phonegap.js"></script> 在我没有修改的phonegap应用程序中,屏幕上会出现2个popup窗口。 //The first popup gap:["PluginManager","startup","PluginManager224542697"] //the second gap:["App","show","App224542698"] 我必须取消两个popup窗口,真的很想理解这个推理。 这两条线在phonegap.js的21117&21118行 // Tell the native code that a page change has occurred. require('cordova/exec')(null, null, 'PluginManager', 'startup', []); require('cordova/channel').onNativeReady.fire(); 当它在应用程序中这当然不会中断,但这确实意味着发展几乎是不可能的。

捕获在Android虚拟键盘上使用JavaScript键入的键

我有一个带有textarea的网页,我需要捕获用户键入的键(以便我可以用键入的键replace不同的Unicode字符)。 我目前的代码如下: $("#myTextArea").bind('keypress', function(event) { var keyInput = event.which; // call other functions }); 以上代码适用于PC和iPhone / Safari。 但是, 在Android (三星)平板电脑上使用Chrome时会失败 。 出于某种原因,当我在android虚拟(软)键盘上键入时,不会触发“按键”事件 。 Android版本是5.0.2。 如果我尝试使用“keyUp”或“keyDown”,那么对于所有的字符 (除了返回键,空格,退格键等) 总是返回229 。 即使keyCode始终为229,textarea也会显示用户input的正确字符。 这意味着设备知道哪个键被input,但不知何故,我无法得到处理这个事件(和关键代码)使用JavaScript。 以下是我迄今尝试过的替代scheme及其结果: $("#mainTextArea").on("keydown keyup", function(event) { // event.which and event.keyCode both return 229 $(document).on('keypress', function(event) { // function is not triggered $('#myTextArea').bind('input keypress', function(event) { // […]

canvas签名触摸在phonegap中造成问题

我发现了一些与“phonegap帆布签名”相关的post,但他们没有帮助。 我有一些下拉框,文本框和一个签名栏。 我想在sqlite数据库中插入这些字段。 我的数据库表创build如下所示: tx.executeSql("CREATE TABLE IF NOT EXISTS parts(id INTEGER PRIMARY KEY AUTOINCREMENT,nr,productId,description,toolsVerified)"); tx.executeSql("CREATE TABLE IF NOT EXISTS costs(id INTEGER PRIMARY KEY AUTOINCREMENT,nr,date,starttime,endtime,reason,cost)"); tx.executeSql("CREATE TABLE IF NOT EXISTS sign(orderNr unique ,rapport,sign)"); 阅读像正常的文本字段值和canvas签名字段的下拉是像 kundusSign = $("#mKundusskirt")[0]; kundensUnderSkrift = kundusSign.toDataURL(); 这里是插入数据的代码: db .transaction(function(tx) { // for parts table tx .executeSql( "insert into parts(nr,productid,description,toolsVerified) values(?,?,?,?)", [ nr, […]

如何确定Android WebView何时完全加载?

我想知道如何确定一个WebView 完全加载完成 。 让我完全定义。 所有redirect都发生了 该页面是可见的显示,没有任何尚未加载 这个问题的答案不好: WebViewClient.onPageFinished() – 如果存在redirect加载页面,将多次触发。 它也会在页面显示之前触发。 PictureListener.onNewPicture() – 每次屏幕更改和AFAICT每次redirect时都会触发。 我怎么知道哪一次是最后一次? WebChromeClient.onProgressChanged() – 与onPageFinished相同的问题。 (在David在下面提出这个解决scheme之后添加 Thread.sleep(5000) – 应该是显而易见的,为什么这是不可接受的。 当然,上述的巧妙组合将是完美的。 为什么我想知道你问这个? 因为一旦webview被完全加载完成,我想要一次注入一些javascript。

HTML Mobile – 强制软键盘隐藏

我正在开发一个优惠券公司的前端网站,我有一个页面,用户只需要input电话号码和$$花费。 我们想出了一个有趣的使用Javascript构build的屏幕键盘,使用起来很方便,速度也很快。 但是,我正在寻找一种解决scheme,以防止在用户对焦并在这些字段中input文本/数字时popup软键盘。 我知道HTML5提出的“数字/电话/电子邮件”types属性。 但是,冒着疯狂的风险,我真的只想使用我的屏幕键盘。 注意:这个网站主要针对平板电脑。 谢谢。

Cordova PhoneGap从2.2.0升级到5.1.1

我有Cordova 2.2.0版本的应用程序。 现在我想升级,我已经做了升级的一部分,升级后,应用程序的图像不显示,它是空白的屏幕。 即使闪屏也没有来。 这是我的代码 现在我达到了一定的水平。 我模拟的应用程序,是关于SQLitePlugin问题。 当打开数据库说db.cordova没有定义 如何安装数据库 – 将数据库从db文件夹复制到android安装位置。 这工作得很好。 这是我的数据库: var DB = new Object(); DB.isDBSupported = false; DB.isDBCreated = false; DB.vocabDB = null; DB.tables = ['userResponses', 'wordGroups', 'words', 'wordMapping', 'checkExists', 'patch_version'] DB.createdTables = 0; DB.setupCallback = null; DB.curQP = null; DB.accountStatus = false; DB.sfx = true; DB.showWarnings = true; DB.firstLaunch = […]

使用Titanium Mobile编译应用程序后,JavaScript代码会发生什么情况

我从Appcelerator安装了Titanium,并构build了“KitchenSink”示例应用程序。 一切运作良好,我只是想知道在一个build立的应用程序的JavaScript代码结束了。 我grep-ed的Xcode项目,结果应用程序,因为我发现它在Library/Application Support/iPhone Simulator/….KitchenSink.app ,但我找不到任何函数名.js文件,甚至不是string在应用程序中使用的文本。 我发现最近的信息是一个答案: 加速器titanium移动如何工作? 但我不清楚这个过程是如何工作的。 是JavaScript代码被编译成二进制代码(然后使用什么编译器?),还是只是在一些特殊的数据格式转换,并在运行的应用程序中解释? 更新: 这是我可以在KitchenSink的build / android目录中看到的: michal:bin mac$ find . -name table_view_layout\* ./assets/Resources/examples/table_view_layout.js ./assets/Resources/examples/table_view_layout_2.js ./assets/Resources/examples/table_view_layout_3.js ./assets/Resources/examples/table_view_layout_4.js ./assets/Resources/examples/table_view_layout_5.js ./classes/org/appcelerator/generated/examples/table_view_layout.class ./classes/org/appcelerator/generated/examples/table_view_layout_2.class ./classes/org/appcelerator/generated/examples/table_view_layout_3.class ./classes/org/appcelerator/generated/examples/table_view_layout_4.class ./classes/org/appcelerator/generated/examples/table_view_layout_5.class michal:bin mac$ unzip -t app.apk | grep table_view_layout testing: assets/Resources/examples/table_view_layout.js OK testing: assets/Resources/examples/table_view_layout_2.js OK testing: assets/Resources/examples/table_view_layout_3.js OK testing: assets/Resources/examples/table_view_layout_4.js OK testing: assets/Resources/examples/table_view_layout_5.js OK 我之前没有看过app.apk,我只能看到这些类文件对应于每个javascript文件。 因此,我认为在Android上正在为JVM编译。 […]

iScroll 4不支持表单<select>元素iPhone Safari和Android浏览器

我正在使用这个HTML代码: <form action="#" method="post"> <fieldset> <label class="desc" id="title10" for="Field10"> How many children do you have? </label> <select id="Field10" name="Field10" class="field select large" tabindex="5"> <option value="0" selected="selected">0 </option> <option value="1">1 </option> <option value="2">2 </option> <option value="3">3 </option> <option value="4">4 </option> <option value="5">5 </option> <option value="6">6 </option> <option value="7">7 </option> <option value="8">8 </option> <option value="9">9 </option> </select> […]