繁体   English   中英

jQuery Mobile 1.4.5似乎未在ipad上调用javascript

[英]JQuery Mobile 1.4.5 does not seem to invoke javascript on ipad

使用JQuery mobile 1.4.5https://jquerymobile.com/

具有讽刺意味的是,一切都可以在桌面浏览器上运行,但是在iPad上进行测试时,我似乎无法正常工作...

我的精简页面(HTML)包含以下内容:

<div data-role="content">
 <script src="test.js"></script>    
 <script>
  $( document ).on( 'pagecreate', function( event ) { do_something(); });
 </script>
</div>

文件“ test.js”包含以下代码:

function do_something() {

   alert('here in do_something()');

}

在iPad上进行测试时,我得到的只是一个带有“旋转彗星”的灰色圆圈,该圆圈在圆圈中旋转,页面甚至从未呈现(是的,我尝试过重新启动iPad,清除浏览器历史记录/数据等)。

在所有其他浏览器上,我得到警报。

最终,我试图将google map以及需要操作各种DOM元素以及javascript的javascript加载到页面中-我可以做到并且正在所有其他浏览器上工作-似乎似乎无法在iPad上进行测试时,任何事情都可以工作(我不知道如何通过iPad Safari查看源消息或控制台消息,这使调试成为噩梦)。

任何的意见都将会有帮助。

提前致谢。

首先,您错过了一些重要信息,例如台式机上是否正在运行“所有其他浏览器”,或者我们是否在谈论其他移动设备? 这是非常重要的。

如您所见,微调器意味着将加载jQuery Mobile和jQuery。

如果它们已在您的台式计算机上成功运行,则可以检查以下内容:

  • 确保没有任何内容在本地主机上运行或从本地主机运行。 这将在台式计算机上正常工作,但是如果您尝试在任何其他设备上对其进行测试,则它将失败。
  • 确保您在jQM应用程序中未使用绝对路径,这在任何远程设备上也会失败。 我想可能是类似的情况,因为jQM无法显示第一页
  • 您将需要使用远程调试功能。 当您使用iPad时,我再次假定您拥有Mac。 请遵循此教程: https : //appletoolbox.com/2014/05/use-web-inspector-debug-mobile-safari/,因为它是唯一的防呆方法,可在其中发现问题所在。 不幸的是,如果您使用的是Windows计算机,则需要使用Chrome和Android设备。
  • 还有一种可能,您的某些* .js内容是从localhost或iPad无法使用的其他来源加载的。 也可能是这种情况,因为您上面提到的警报未在iPad上触发。 这意味着已经出现了一些主要的JavaScript,从而阻止了其他JavaScript内容的加载。
  • 在这种情况下,您还可以使用另一种万无一失的方法来帮助我。 将代码修剪到最低限度,即使这意味着您需要删除大部分HTML内容和JavaScript。 对它进行测试(如果可行),开始包括已删除的内容。 首先包括远程JavaScript内容,CSS等。 然后,如果仍然有效,请开始包含实际的HTML和代码。 迟早您会偶然发现有问题的代码,缺少的内容或未加载到iPad的内容。

感谢所有提供了一些见解的人...

原来,这是一个外部的javascript文件,其中包含try / catch块,如下所示:

try {
   // code
}
catch {
   // code
}

更改为:

try {
   // code
}
catch(err) {
   // code
}

...进行更改后,所有测试都通过了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM