Tag: mobile safari

JQuery for mobile safari:on()失败

我正在尝试为移动网页更改动态生成的DOM元素的某些类。 我通常的方法,jquery on()没有正确地获取事件。 “delegate()” ,我的备份工作也都没有。 我正在使用JQuery版本“http://code.jquery.com/jquery-1.7.min.js”

在Safari Mobile中点按高亮显示,jQuery on()函数会产生巨大的亮点

我在iOS的Safari Mobile Browser上使用jQuery的on()函数,如下所示: $(“#content”).on(“.element”, click(function(){ do stuff}); 点击.element Safari会突出显示整个#content区域,而不仅仅是.element所需的区域。 使用时 $(“.element”).click(function(){do stuff}); 相反,右侧区域会突出显示。 我想这是预期的行为,但对用户来说根本不直观,所以我正在寻找一种解决方法。 我知道我可以通过使用-webkit-tap-highlight-color: rgba(0,0,0,0);完全消除突出-webkit-tap-highlight-color: rgba(0,0,0,0); 但我认为这个亮点实际上非常有用,因为CSS’hover在移动设备上已经无用了。 有没有办法使用jQuery的function和Safari Mobile获得.element的点击高亮?

.load()在ipad上不起作用

我有简单的脚本来检查图像,但它在我的ipad 5.1上没有正常工作。 在图像中我收到jpg的流,因此加载必须在每个帧上工作(如在大型safari中),但在ipad中它只会触发一次。 可能是一些建议? $(‘#image’).load(function(){ console.log(new Date().getTime();); });

从Mobile Safari中的window.innerWidth获得不一致的结果

我正在使用此JavaScript来检测浏览器宽度: $(document).ready(function(){ var width = window.innerWidth; }); 它似乎给出了不一致的结果。 我在这里做了一个工作的codepen 。 通过在移动Safari中反复刷新整页视图 ,我收到了以下两个结果: 它不一致地来回跳跃,并且由于更大的页面尺寸(因此所有图像)而显得更加恶化。 有时它只返回一个结果,直到我杀死应用程序并重新打开它。 有没有更好的方法来获得浏览器的宽度? 笔记: 我已将此添加到头部: 使用$(window).width()对我来说不是一个选项,因为它不考虑滚动条 我知道我可以将js置于超时function中,但是这个解决方案对我来说是有问题的,因为我将结果存储在我在整个网站的各个地方使用的变量中。 我正在使用运行iOS 9.2的iPhone 5 谢谢!

Ipad或移动Safari浏览器上的HTML5 Canvas触摸事件偏移量

我遇到了一个问题,我无法通过Google解决这个问题,这是我在stackoverlow上的第一篇文章。 我有两个相互叠放的帆布元素,在我的公司网站上创建一个彩票类型刮擦function。 问题是,在Ipad上,如果我向下滚动页面甚至像素,触摸位置关闭等于滚动的高度。 我尝试了几种不同的路线来尝试解决这个偏移问题无济于事。 使用的JS库:Jquery1.6.4和kinetic2d1.0.2 http://www.kineticjs.com/用于移动触摸事件检测。 我没有非常使用safari mobile,所以我认为有一些属性或方法来确定我不知道的偏移量。 我想要一个解决这个问题的JS解决方案,但任何让我到终点线的黑客都会获胜。 提前致谢。

这个错误消息“insertId:Error:INVALID_ACCESS_ERR:DOM Exception 15”的含义是什么?

我正在使用jquery mobile,phonegap和openDatabase开发一个应用程序。 当应用程序执行时,我可以在Safari浏览器的控制台中看到带有以下消息的SQLResultSet : insertId: Error: INVALID_ACCESS_ERR: DOM Exception 15. 但是,我的应用程序正常工作。 但我不明白为什么会显示该消息。 请帮我。

我怎么不在移动safari应用程序中缓存AJAX POST?

感谢这篇文章,我能够解决移动safari将缓存ajax POST请求的问题。 添加“标题:{‘Cache-Control’:’no-cache’}”似乎可以为我的移动safari页面做点什么。 但是,当我通过移动safari webapp访问我的网站时,仍然会缓存ajax请求。 我无法找到解决方案,所以我想发布在这里。 除了添加上面提到的标题之外,我还尝试添加“cache:false”,并添加“url:’/ ajax_url?v =’+ time”。 似乎没什么用。 为什么移动safari与webapp的不同行为? 我该如何解决这个问题? 编辑: 忘了我的代码。 这里是: function send_ajax(my_data,refresh){ var now = new Date(); var n = now.getTime(); $.ajax({ url: “/ajax_page?time=” + n, type: “POST”, headers: {“cache-control”: “no-cache”}, data: my_data, dataType: ‘json’ }) .fail( function (jqXHR, textStatus, errorThrown){ }) .done(function(data){ // refresh the page after we […]

如何在使用事件委托时解决iPad上的闪烁问题?

当使用事件委托方法时,我们在更高级别的元素(父级或祖父级)上设置事件处理程序,但这在iPad的Safari上存在问题:如果父元素具有单击处理程序,则当用户触摸此元素内的任何内容时,整个区域将灰显(在iOS 5.1上)或闪烁(在iOS 6上)。 因此,如果父或祖父母是300 x 300像素,并且链接只是一个单词,比如60 x 20像素,那么当用户触摸父母内部的任何位置(链接除外)时,整个300 x 300区域将灰色或闪烁,取决于iOS版本。 这是一个例子: http : //jsfiddle.net/2K3TB/30/它可以在物理设备或iOS模拟器上使用iOS 5.1或6的iPad上运行。 我尝试了Apple的文档中列出的所有事件,并且可以监听touchstart ,并且事件处理程序可以执行preventDefault()以便不会出现灰色或闪烁。 示例: http : //jsfiddle.net/2K3TB/31/但是现在,将“ha”添加到文档顶部的链接将不起作用。 为了使它工作,我必须在链接上设置一个touchstart处理程序,以使链接起作用: http : //jsfiddle.net/2K3TB/33/ 这是解决灰色或闪烁问题的正确方法吗? 还有别的办法吗? 此方法存在一个问题,即在此区域内可能存在动态内容,例如链接,按钮,复选框,无线电,选择或具有事件处理程序的任何其他可能的 ,因此我无法设置每个不可预测元素上的touchstart处理程序。 我或许可以使用类似的东西: $(“#container”).on(“touchstart”, function(ev) { if (ev.target.tagName.toLowerCase() !== “a”) { ev.preventDefault(); } }); 在http://jsfiddle.net/2K3TB/35/但是我必须检查所有 , , , 或任何可能绑定了事件处理程序的元素它。 所以这可能不是一个好的解决方案。 有没有一种好方法可以解决这种灰色或闪烁问题? 更新: Charlie在下面的回答运作良好,但也有一个问题:一旦我们设置了容器的css样式, 或任何其他可点击的元素也inheritance了样式,并且也变得透明。 所以我不得不这样做: var tapHighlightColorStyle = […]

使用jQuery或JavaScript绑定到自定义CSS动画结束事件?

我们针对同一个对象有多个动画。 当每个动画结束时,我们需要采取不同的行动。 现在,我们绑定到webkitAnimationEnd事件,并使用gnarly if / then语句以不同方式处理每个动画。 有没有办法实质上创建自定义webkitAnimationEnd事件,允许我们在特定动画结束时触发特定的事件处理程序? 例如, animation1结束时的fire handler1和animation2结束时的fire handler2 。 我们正在构建Webkit浏览器,特别是Mobile Safari。 谢谢!

网站javascript没有在iphone上运行(safari)

我没有在这里发布的特定代码块,我的网站包含了一些javascript / jquery,它在Android和现代桌面浏览器(包括Safari)上运行良好。 但是当我通过iphone查看网站时,没有任何javascript正在运行。 网站是www.alexchapman.co.uk,我已经检查过is上启用了js,而我在手机上没有收到任何错误消息。 该网站有点慢,所以我通过Wi-Fi连接连接到iPhone上的网站。 我的问题是我在哪里开始尝试解决这个问题。 我无法访问mac。 有什么我可以在iphone上运行类似于firbug或开发工具试图看看这里发生了什么? 我尝试了电子移动模拟器,但这显示网站工作正常(虽然我意识到这不是一个合适的iPhone模拟) 有没有人有类似的问题?