javascript – Jquery mobile data-rel =“对话框”无法在iphone或ipad上运行
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Jquery mobile data-rel =“对话框”无法在iphone或ipad上运行,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2616字,纯文字阅读大概需要4分钟。
内容图文
![javascript – Jquery mobile data-rel =“对话框”无法在iphone或ipad上运行](/upload/InfoBanner/zyjiaocheng/815/9f45d65fcce4435482a9a38c3a8a8652.jpg)
以下代码
<a data-rel="dialog" href="/Client/Events?ID=c2a7a58e-bef1-4574-987f-4adfc2c3ecc1">
<div class="ui-li-aside"> 1 </div>
<div>
Alejandra Garcia
</div>
</a>
这适用于我的计算机浏览器,也适用于Windows手机浏览器.但是在iphone或ipad浏览器上不起作用.看起来链接被点击但我看不到对话框.要么是超级延迟,要么就是不工作.
页面的响应和加载时间非常快,并且可以在常规桌面浏览器上无缝运行.它是一个非常小的页面加载.
我应该尝试让它发挥作用的任何提示?
解决方法:
我怀疑它与你正在使用的网址有关,JQM不知道如何制作这样的链接:
/Client/Events/StubCheckIn/innasf?stubID=c807321b-5381-4338-adef-9e676374d85d
没有文件结尾,没有标签,我一直在用一个简单的[?para = meter](https://github.com/jquery/jquery-mobile/issues/4253)链接和JQM处理它天.
我解决“在ipad上没有发生任何事情”的最简单方法是通过相应的JQM小部件启用iPad调试器和console.log-ging.在你的情况下从这里开始(关于3582行):
// click routing - direct to HTTP or Ajax, accordingly
$( document ).bind( "click", function( event ) {
// your first flag
console.log("flag 1 - click detected")
if( !$.mobile.linkBindingEnabled ){
return;
}
var link = findClosestLink( event.target ), $link = $( link ), httpCleanup;
if ( !link || event.which > 1 || !$link.jqmHijackable().length ) {
// your second flag
console.log("flag 2 - not a link?!?)
return;
}
...
通过单击处理程序执行此操作并确保标记所有返回,这会因各种原因而结束该功能.
完成单击处理程序(不是那么长)后,您将看到它触发changePage,因此请将其跟随到changePage处理程序并继续标记.这应该从第(#3232)行开始:
// Show a specific page in the page container.
$.mobile.changePage = function( toPage, options ) {
console.log("flag x - made it to changepage");
...
一直到改变页面,然后按照过渡页面(我认为不会这样)和$.mobile.loadPage(约为#2931,更有可能).
一旦你标记了所有东西(在加载后停止!:-),在浏览器和ipad上重新加载页面,看看ipad在浏览器中的失败位置.可能需要一个小时但你会很好地了解JQM之后如何工作:-)
另一个原因可能是pushstate处理程序(约#3781).如果浏览器支持pushstate(桌面是,iOS …不确定,iOS3否),你可以制作漂亮的URL,所以如果你从你的页面转到:
root.com/client/events/checkin/innasf
到对话框
http://root.com/Client/Events/StubCheckIn/innasf?stubID=96e63aee-1465-4ecd-ad35-123f240d09ff
您的浏览器仍然显示页面网址 – 可能是因为您将changehash设置为false(保留网址).这(我相信)是由pushstate处理程序完成的,因为你的URL应该是:
root.com/client/events/checkin/innasf#http://root.com/Client/Events/StubCheckIn/innasf?stubID=96e63aee-1465-4ecd-ad35-123f240d09ff&some-dialog-ending
这将是url非pushstate设备将尝试解决(例如我的iPad ios3.3),它也无法正常工作.
我的猜测是,当JQM解析URL时,您的链接在click或changepage处理程序中的某处失败.
如果你标记自己,请告诉我浏览器和iOS之间的区别.然后我们可以看看这是否可以解决.
内容总结
以上是互联网集市为您收集整理的javascript – Jquery mobile data-rel =“对话框”无法在iphone或ipad上运行全部内容,希望文章能够帮你解决javascript – Jquery mobile data-rel =“对话框”无法在iphone或ipad上运行所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。