Articles of JavaScript

swipeleft / swiperight在jquery mobile垂直滚动期间触发

问题是,当我想要垂直滚动时,swipeleft / swiperight事件触发。 我们正在使用jQuery的手机1.1.0版本和jQuery的1.7.1。 代码是: $(document).delegate('#quizResumePage', 'swipeleft swiperight', function (event) { event.stopImmediatePropagation(); if (event.type == 'swipeleft') { $('#btnnext').trigger('click'); } else if (event.type == 'swiperight') { $('#btnprevious').trigger('click'); } event.preventDefault(); }); 那么为什么刷卡事件触发时,我想scorll页面? 这个问题发生在三星Galaxy的android 2.3.5 … 任何人都可以帮我解决这个问题吗? 提前致谢…

在build议的单词提示时,按键事件不会在Android的Firefox中触发

我有一个search字段,在键入时触发自动完成search。 我有它触发键。 这在大多数浏览器中都能正常工作,但在Android上的Firefox上,这是行不通的。 键入事件似乎没有被触发。 只有在Android键盘设置中打开了单词build议,才会发生这种情况。 我在Googlesearch上看到,自动完成search在那里工作的设置相同,所以显然可以这样做。 我不知道怎么样? 这是我需要听取的特殊事件吗? 此外,我试图听取事件的变化,keydown和按键,但没有被触发。 HTML: <input type="text" id="searchField" autocomplete="off" spellcheck="false" autocorrect="off" /> jQuery事件绑定: $('#searchField').keyup(function (e) { var searchValue = $(this).val(); searchApi._executeAutocomplete(searchValue); }); 注意: 有时,关键事件被触发,这通常是一个不会导致形成单词的过程的关键。 这里最明显的是Enter ,它始终触发。 另一个是空间 ,它触发因为没有单词包含空格,因为空间是一个单词完成的定义。 如果删除的最后一个字符不在一个单词内, 则 退格触发。 这意味着如果你刚刚删除了一个单词的最后一个字母(所以它是字段的开始或光标跟在一个空格之后),但是如果你删除了光标仍然处于单词末尾的一些字符紧接着一封信。 基本上,如果按键导致键盘应用程序的某种单词build议,则不触发关键事件。 作为一个方面的说明,我可以说,一切工作正常在同一设备上的Chrome。

固定定位在Android 2.3浏览器应该工作…应该不是吗?

从网上看,我的理解是,固定的定位应该在Android 2.3中工作,如果有一个正确的元标记设置。 这是我目前的视口设置。 <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> 在我的Galaxy S2上,具有固定位置的div(基本上它是页面顶部的一个细页眉)在向下滚动页面时不会保留在原位。 它随着页面移动。 但是,当您停止滚动时,它会再次跳转到页面的顶部。 这是Android 2.3的预期定位行为吗? 有没有更好的方式来做到这一点(希望不会涉及到iPSroll的庞大复杂性)?

Android – 如何使用PhoneGap Share插件

我正在尝试使用PhoneGap Share插件,这个插件应该会显示原生Android“共享”窗口,允许用户select要共享的应用程序。 https://github.com/phonegap/phonegap-plugins/tree/master/Android/Share 我有一个超链接调用以下代码(在github上提供)。 window.plugins.share.show({ subject: 'I like turtles', text: 'http://www.mndaily.com' }, function () {}, // Success function function () { alert('Share failed') } // Failure function); 当试图在手机上debugging应用程序时,出现以下错误: 无法在file:///android_asset/www/index.html处调用未定义的方法“show” 我需要做些什么才能使这个工作?

Android webview“未捕获的SyntaxError:意外的令牌非法”

在我的android程序中,我得到了一个webview,并需要dynamic地设置值到webview元素(textareas,checkbox等)。 我有一个JavaScript方法从程序接收值,并执行string操作,并将值存储到正确的元素。 但我总是得到这个错误…有点卡在这里。 任何帮助将不胜感激。 我成功地执行了w3schools TryIt编辑器中的脚本,但没有在程序中工作! final WebView webView = new WebView(getApplicationContext()); LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 1); webView.setLayoutParams(params); webView.setBackgroundColor(Color.LTGRAY); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setDomStorageEnabled(true); webView.setWebChromeClient(new android.webkit.WebChromeClient()); webView.setWebViewClient(new WebChromeClient()); webView.loadData("<!DOCTYPE html><html><body>"+ questionsArray[questionIndex] +"</body></html>", "text/html", "UTF-8"); webView.addJavascriptInterface(javaScriptInterface, "HtmlViewer"); scrolRootLayout.addView(surveyWebView); 和我的Javascript方法来设置webView中的textareas值 function myFunction(var_) { var str = var_.replace("-!!!-",""); var pipeSplitedArray = str.split("||"); for(var i=0; i<pipeSplitedArray.length-1; i++) { if(pipeSplitedArray[i].indexOf("-!@!-") == […]

捏放大webview

在我的网站,这是在web视图中加载,有一个地图。 也有Java脚本检测双击缩放,拖动等。但是有可能有一个JavaScript检测使用捏缩放? 有几个例子,它在iPhone上工作,并在我的网站上有一个捏缩放的脚本,但它只是在iphone上工作….. 是否有可能让它在Android上工作? 谢谢

我可以传递一个Javascript对象到一个Android WebView吗?

我正在将一个Web应用程序迁移到一个Android版本。 在收到并处理了JSON数据之后,我在页面中保存了一个Javascript对象数组。 我怎样才能将一个JavaScript对象的完整内容“out”传递给webview容器,以使用原生android控件进行显示? 最终,我可以创build一个JavaScript接口,其中包含每个可能的JavaScript对象属性的参数 – 但这似乎过于沉重。 有人能帮忙吗 ?

开发具有相同API的网站

我只熟悉原生移动开发,而不是网站开发,所以请原谅我的天真。 移动应用程序的API通常涉及通过POST或从API获取数据的请求。 数据将作为JSON返回。 为了这个例子,想象一下,API是一个由Sinatra / Ruby提供的简单API,它将被移动设备和网站所使用。 什么是使用相同的范例网站开发的选项 – 与Web前端从移动应用程序相同的JSON端点获取数据? 我听说过AngularJS和Backbone.js的名字,尽pipe也许Sinatra就够了? 我不想使用PHP。 我宁愿一个轻量级的解决scheme。 如果可能的话,我希望能够在模型更改时更新页面,但我猜这取决于后端API的更改。

我可以触发Android软键盘通过JavaScript打开(没有phonegap)?

我在我的移动networking应用程序中有一些自定义Web组件,而我需要在一个字段上手动激发“焦点”事件,以模拟Android软键盘function中的“下一个”function。 (使用Galaxy S3本机浏览器)。 但是,当我在“select”字段上手动激发焦点事件时,本机软键盘不显示。 我必须随后点击该字段才能显示。 (在IOS中,当然,它工作得很好)。 所以我想知道,如果“焦点”事件不触发软键盘打开,什么JS事件? 我不使用phonegap,所以我希望没有它的方式。 谢谢你的帮助!!!

android webview.loadUrl将不会加载另一个网页

在我简单的Android应用程序中,我编程加载WebView中的网页。 它最初是从一个默认的网页开始的,下一个是根据第一个用户的input加载的。 JavaScript通过消息将信息传递回Android的一面。 一切工作正常,除非第二个网页不加载,无论我做什么,我给的是哪个url。 当我加载第二个testing时,会出现一个警告:“所有WebView方法必须在同一个线程上调用”。 但据我所知,我不使用multithreading,也不需要使用multithreading。 以下是相关的代码: public class MainActivity extends Activity { public WebView myWebView; public int state; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); myWebView = (WebView) findViewById(R.id.webview); WebSettings myWebViewSettings = myWebView.getSettings(); myWebViewSettings.setJavaScriptEnabled(true); myWebViewSettings.setDomStorageEnabled(true); myWebViewSettings.setAllowFileAccessFromFileURLs(true); myWebViewSettings.setAllowUniversalAccessFromFileURLs(true); myWebView.addJavascriptInterface(new JavascriptHandler(), "cpjs"); state = 0; loadNextTest(); } public void webviewLoadURL(String url) { […]