Tag: JavaScript

滚动时的Phonegap移动应用程序选择不正确的项目

我有一个混合移动应用程序开发与手机差距,针对iOS设备。 我使用Backbone.js作为我的MVC框架,jQuery,FastClick.js和Hammer.js用于事件。 我有一个可垂直滚动的项目列表。 如果我点击某个项目,它应该打开详细信息视图。 如果我在列表不滚动时点击该项目,这可以正常工作。 但是如果我在列表滚动或减速时点击某个项目,它会选择错误的项目并显示其详细信息。 我看着点击滚动列表生成错误元素的点击 事件,iPhone / iPad的javascript滚动事件? 和其他建议我收听滚动列表的onscroll事件的网站。 只要用户滚动列表,就会触发此事件。 我在onscroll的回调中禁用了tap事件。 我在回调中设置了一个定时器,超时为300ms,然后启用该回调中的tap事件,该事件在300 ms后执行。 如果在计时器触发之前我得到另一个滚动事件,我取消之前的计时器并再次设置它以在300ms后触发。 当滚动完全停止时,没有其他事件被触发。 所以,我只能依靠这个事件。 问题是即使滚动减速而没有完全停止,事件也会触发。 因此,即使列表正在减速并且没有停止,计时器也会被触发,并且我再次遇到错误的详细信息选择问题。 当滚动完全停止时,事件再次触发。 如果我将计时器增加到> 300毫秒,那么在非动量滚动的情况下,启用水龙头需要更长的时间,用户将继续多次点击。 以下是代码段: 加载视图时,绑定tap事件和onscroll事件: that.$(‘.scrollListItem’).hammer().bind(‘tap’,$.proxy(that.showDetail,that)); this.$(‘#scrollList’).bind(‘scroll’,$.proxy(this.checkscroll,this)); checkscrollfunction checkScroll: function(e){ this.$(‘.scrollListItem’).hammer().unbind(‘tap’); clearTimeout(myGlobalScrollTimer); var that = this; myGlobalScrollTimer = setTimeout(function(){ that.$(‘.scrollListItem’).hammer().bind(‘tap’,$.proxy(that.showDetail,that)); },300); } checkScrollfunction当前正在触发,即使滚动列表正在减速并且没有完全停止。 如何检测到滚动完全停止且UI不再减速,然后才启用点击事件? 有没有其他方法可以解决这个问题? 请指教。

Javascript是iOS的“其他可执行代码”吗?

在Apple的指导方针中,我看到: 2.7以任何方式或forms下载代码的应用程序将被拒绝 2.8将拒绝安装或启动其他可执行代码的应用程序 我现在要做的是提供一个TextView ,允许用户输入Javascript并在UIWebView中运行 stringByEvaluatingJavaScriptFromString: 所以我不是’ 下载 ‘任何代码,而Javascript不是’ 其他 ‘,而是UIWebViewfunction的一部分。 在某些方面,它就像在UIWebView中运行常规UGC WebApp一样。 我已准备好提交应用程序,但仍担心在等待10天后被拒绝… 谁知道这是否可以?

如何使用Expo在真实的iOS设备上运行应用程序?

我正在使用Expo来运行我的应用程序。 我可以在Expo XDE中看到两个选项: 在iOS模拟器上打开 在Android上打开 我想通过直接连接到我的设备来运行我的应用程序。 世博会有可能吗?

在Mobile Safari中保持WebSocket的活力

屏幕锁定后,是否可以在Mobile-Safari中保持html 5网页WebSocket连接打开? 我想在一天之内向我的用户发送持续更新,他们的屏幕应始终必须解锁以接收这些通知,这似乎很愚蠢。 还有其他选择吗?

即使添加了控制台插件,console.log也无法在iOS Phonegap App中运行

我在Cordova CLI中创建了一个Phonegap iOS应用程序。 我已经添加了控制台插件,并且yes deviceready被成功调用但是console.log不能正常工作,并且不会在XCode日志中打印任何内容。 插件安装: – cordova-v 3.3.1-0.3.1 sudo cordova plugins添加org.apache.cordova.console 通过插件注册表获取插件“org.apache.cordova.console” 为ios开始安装“org.apache.cordova.console” 准备ios项目 oros.apache.cordova.console安装在ios上。 sudo cordova plugins ls [‘org.apache.cordova.console’, ‘org.apache.cordova.device’, ‘org.apache.cordova.dialogs’, ‘org.apache.cordova.geolocation’, ‘org.apache.cordova.globalization’, ‘org.apache.cordova.inappbrowser’, ‘org.apache.cordova.media’, “org.apache.cordova.network信息”, ‘org.apache.cordova.splashscreen’, ‘org.apache.cordova.vibration’] Java脚本: – var app = { initialize: function() { this.bindEvents(); }, bindEvents: function() { document.addEventListener(‘deviceready’, this.onDeviceReady, false); }, onDeviceReady: function() { app.receivedEvent(‘deviceready’); }, receivedEvent: function(id) […]

为什么ibooks不提供文本突出显示并在固定布局epub中添加注释function?

是否可以在固定布局epub中添加文本高亮显示。 我添加了文本高亮,并使用以下代码在normalize epub中添加注释: [webview stringByEvaluatingJavaScriptFromString:@” var selection = “”;\ var results = “”;\ var idspan = “”;\ “]; [webview stringByEvaluatingJavaScriptFromString:@”if (window.getSelection) {\ selection = window.getSelection();\ }\ if (selection.rangeCount > 0) {\ var range = selection.getRangeAt(0);\ var span = document.createElement(\”span\”);\ span.id = \”span_\” + range.startOffset + \”_\” + range.endOffset ;\ span.setAttribute(\”class\”,\”uiWebviewHighlight\”);\ span.setAttribute(\”onclick\”,\”clickHandler(this)\”);\ span.style.backgroundColor = \”skyblue\”;\ range.surroundContents(span);\ […]

webkit-playsinline在返回cordova iOS应用中的页面时停止工作

我在iOS的cordova(phonegap)应用程序的主页中嵌入了内嵌video。 我已将必要的allow设置添加到config.xml 而videohtml看起来像这样 当应用程序首次启动时,video播放内联并完美运行。 但是,如果我离开主页然后返回,则video会在页面加载时全屏显示。 我已经尝试在页面中移动video以测试是否因为浏览器专注于页面加载。 我也试过删除自动播放和延迟触发JS的游戏。 我已经在iOS7和iOS8中测试了上述所有内容,因为这些是我的目标版本。 有什么建议吗? 先谢谢你。

如何使用javascript / jquery进行双指拖动?

我正在尝试创建在有两个手指放在上面时拖动div的function。 我已将div绑定到touchstart和touchmove事件。 我只是不确定如何编写这些函数。 像if event.originalEvent.targetTouches.length => 2设置起始X和Y的东西。 我是否平均了两个手指的位置? 然后对数据应用css变换? 如何将它从DOM的流程中拉出来,静态定位? 任何例子都会很棒,谢谢!

WKWebView中的Javascript – evaluateJavaScript vs addUserScript

我试图了解使用WKWebview执行javascript的最佳方法 有人可以在使用WKWebView时向我提供用例/最佳实践。 何时使用addUserScript和WKScriptMessageHandler以及何时使用evaluateJavaScript let jscript = “my script” let userScript = WKUserScript(source: jscript, injectionTime: .atDocumentEnd, forMainFrameOnly: true) let userContentController = WKUserContentController() userContentController.addUserScript(userScript) let webViewConfiguration = WKWebViewConfiguration() webViewConfiguration.userContentController = userContentController webView = WKWebView(frame: self.view.bounds, configuration: webViewConfiguration) VS let myScript self.wkWebView.evaluateJavaScript(script) { (result, error) in if error != nil { print(“\(error)”) } }

在ios中显示div的键盘,其中contenteditable =“true”

我有一个contenteditable =“true”的div。 如何通过javascript设置对此div的关注(如果可以在纯js上,没有jquery)?