Tag: JavaScript

在浏览器或本地应用程序中正确打开Facebook页面链接IOS cordova

关于这个类似的话题的以前的问题是不适合我的工作,其中大部分都没有答案。 我想通过点击button将用户带到脸书页面。 更新Facebook安装在iphone,最新的cordova安装,inappbrowser插件使用。 现在我的代码是 window.open('https://www.facebook.com/latechnologies', '_system','location=yes'); 这完美的android。 但在IOS链接是由国家的Facebook应用程序捕捉,带我到使用的Facebook墙,而不是页面的饲料。 这意味着它只是打开本机应用程序,但不要带任何页面。 然后我search了一下,并尝试了一些build议 window.open('fb://facebook.com/latechnologies', '_system','location=yes'); window.open('fb://pages/latechnologies', '_system','location=yes'); window.open('fb://pages', '_system','location=yes'); 他们都没有工作。 每一次到用户墙。 我怎样才能简单地把用户带到Facebook页面? 本机应用程序或浏览器无关紧要。 只是想把用户带到页面…………………

iOS的Javascript DOM“冻结?”

这里有几个问题: 反正有没有让iOS冻结在页面上的JavaScript滚动? 当你在另一个选项卡或者如果你切换应用程序时,iOS会冻结JavaScript吗? iOS上还有其他主要的JavaScript限制吗?

Keydown允许数字,但不能在iPhone上移动符号

我有一个事件绑定到应该只允许数字的input。 简化: function (e) { if (-1 === [48,49,50,51,52,53,54,55,56,57].indexOf(e.keyCode)) { e.preventDefault(); } } 这工作正常,但如果有人types! , @ , # , $等等,keyCode仍然是一样的,事件的默认是不被阻止的。 在物理键盘上,我也可以通过检查e.shiftKey来防止这e.shiftKey 。 但是,在iOS 虚拟键盘上,即使是<input type=number>也存在一些字符(如$ ),并且可以直接键入。 他们的keyCode是一样的,但似乎e.shiftKey仍然是错误的。 我可以接受的解决scheme有很多种: 让虚拟键盘本身不显示这些字符(即只显示数字和句点/小数) 检测到一个无效的虚拟键被按下,并抑制事件的行为 确定一个无效字符将被添加到input的值,并在这种情况下抑制事件的行为 其他?

隐藏URL栏,而不隐藏iOS上的智能应用程序横幅

是否可以在iOS Safari中隐藏地址URL栏而不是智能应用程序横幅? 我已经尝试了这个问题的解决scheme: 隐藏地址栏,而不隐藏iOS 6上的智能应用程序横幅 ,但它似乎并没有工作。 当我使用来自https://github.com/h5bp/mobile-boilerplate/blob/master/js/helper.js的 MBP.hideUrlBarOnLoad时,智能横幅仍然隐藏,正如答案所示。

与页面上的元素进行交互时防止滑动事件

我正在构build一个基本上是一系列幻灯片的iPad应用程序。 当我读完幻灯片后,我可以滑动到下一张幻灯片(使用Zepto的轻扫),将window.location更改为下一张幻灯片。 (滑动事件绑定到window.body,因为它需要在整个页面上工作)… 问题在于:一些幻灯片具有互动元素,如button,可拖动项目等。问题是,使用这些交互元素时触发滑动事件。 有谁知道一种方法来防止在这些情况下触发刷卡? 也许设置一个敏感度等? 我很难过 最良好的祝愿和非常感谢!

jQuery的ContextMenu事件不工作在IOS 8.2

我使用.html示例中的contextMenu事件,当我长按DIV时它会被触发,但是现在它不工作。 是最新的IOS 8.2版本中的东西坏了。 这里是示例代码, <head> <title></title> <script src="Scripts/jquery-1.9.1.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $("#content").on("contextmenu", function () { alert("CM"); }); }); </script> </head> <body> <div id="content" style="height:300px; width:300px; background-color:gray;"></div> </body> 这是工作示例 http://jsfiddle.net/4zu1ckgg/ 请有人帮我这个。

iOS的UiWebView /页面可见性Api:“pageshow”事件不会触发

我正在尝试使用页面可见性Api来检测Web内容在iOS中显示的时间。 我有简单的JS: window.addEventListener("pageshow", function(){ alert("page shown"); }, false); 如果选项卡处于活动状态,或Safari最小化,然后重新显示,移动Safari浏览器中的警报就会触发。 但是,如果我在UiWebView中托pipeWeb内容,事件不会触发。 有没有其他人遇到过这个问题? 如果有的话,任何解决这个? 谢谢…

由hasPasswordField_引发的Facebook iFrame安全错误(document.domain)

我们有一个项目使用标准的Facebook API主要用于login和注册的目的。 由于我们使用Sentry来接收错误通知,因此经常出现以下(主页中): SecurityError: Blocked a frame with origin "https://www.mywebsite.com" from accessing a frame with origin "https://www.facebook.com". The frame being accessed set "document.domain" to "facebook.com", but the frame requesting access did not. Both must set "document.domain" to the same value to allow access. at hasPasswordField_ (/en:1:368) at hasPasswordField_ (/en:1:499) at findPasswordForms (/en:1:173) at global code […]

浏览器滚动事件在iOS和Android设备上不会经常触发

我正在开发一个使用jQuery,greensock和scollorama的单页面网站。 它并不完全需要支持移动浏览器,但是如果它能在iPad上运行,那将会很不错 – 所以考虑到这一点,我开始testing各种手机和平板电脑。 我碰到的问题是,scrollorama依赖于经常被触发的滚动事件,因为这是animation被钩入的 – 然而,当使用触摸屏时,浏览器似乎只在启动拖动时触发滚动事件,当你停下来时 – 这在Opera Mini,Chrome,Safari,FF Mobile上是一致的。 为了让我的页面尽可能地完成部分工作,我需要提出一些能够让我更频繁地开展滚动活动的事情 – 有谁知道如何? PS我已经尝试使用iScroll作为scrollorama文档build议,但是,这并没有工作,而是打破了animation,使滚动不可能 – 我敢肯定,插件本身的作品,但它似乎并没有很好地工作,已经得到了。 我正在寻找比插件更less的东西,只是一个片段,理想地触发滚动事件。 TL; DR 带有触摸屏的设备似乎只在拖动过程中触发javascript滚动事件一次或两次。 有一个简单的补丁,我可以在JS或jQuery中更频繁地触发滚动事件吗? 更新:我已经尝试挂钩触摸事件,并触发浏览器滚动,如下所示: $(document).on('touchstart touchend touchmove', function(){ $(window).trigger('scroll'); }); 这似乎给我使用Firefox的Android更好的结果,虽然我不认为它是像我想要的那样频繁地触发它比什么都好。 我会在其他浏览器中testing,看看是否有帮助。 更新2: 上面的代码帮助了Android上的FF,而不是在iPhone上。 我尝试添加iPhone的手势事件处理程序,但没有改变。 $(window).on('touchstart touchend touchmove mousewheel touchcancel gesturestart gestureend gesturechange orientationchange', function(){ //alert($(window).scrollTop()); $(window).trigger('scroll'); });

我如何在HTML5的应用程序caching中存储50MB的video?

我正在开发一个iOS离线应用程序,我试图存储一个50MB的video离线查看。 但是,在我的manifest.appcache正确添加video的url后,我得到一个控制台错误,说appcache限制超过了允许的大小。 因此,打破了我的整个页面; 没有一个资源后加载。 只要我从appcache解除video链接,一切正常。 有没有办法绕过这种行为? 或者,有没有一种方法可以在IOS5 + iPad上存储50MBvideo以进行离线观看?