javascript - JQuery Mobile 1.4.5 似乎没有在 ipad 上调用 javascript

标签 javascript ios jquery-mobile

使用 JQuery 移动版 1.4.5 ( https://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 上测试时,我得到的只是一个灰色圆圈和一个“旋转的 cometd ”在圆圈中旋转,页面甚至从未呈现(是的,我尝试重新启动 iPad,清除浏览器历史/数据等) .

在所有其他浏览器上,我都会收到警报。

最终,我试图将谷歌地图连同我需要操纵各种 DOM 元素以及操纵 map 的 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 内容是从本地主机或您的 iPad 不可用的其他来源加载的。这也可能是您上述警报未在 iPad 上触发的情况。这意味着一些主要的 JavaScript 已经发生,从而阻止了其他 JavaScript 内容的加载。
  • 在这种情况下,您可以使用另一种万无一失的方法来帮助我。将您的代码 trim 到最低限度,即使这意味着您需要删除大部分 HTML 内容和 JavaScript。对其进行测试,如果有效,则开始包括已删除的内容。首先包括远程 JavaScript 内容、CSS 和类似内容。然后,如果它仍然有效,请开始包含实际的 HTML 和代码。您迟早会发现有问题的代码、丢失的内容或未加载到您的 iPad 中的内容。

关于javascript - JQuery Mobile 1.4.5 似乎没有在 ipad 上调用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54798843/

相关文章:

javascript - 如果容器 div 字符较少则隐藏 div

javascript - 将 if else 语句与计时器一起使用

ios - Swift:为什么切换文本字段有效?

jquery - 根据值 : Jquery Mobile 更改进度条的颜色

javascript - 如何重新定位固定的页眉和页脚?

javascript - 如何使用 jquery 生成带有事件和表格的按钮

javascript - 在 JavaScript 中为对象中的键插入数组格式的值

ios - 如何从 UIWebView 下载文件并再次打开

objective-c - NSString 让我大吃一惊

jquery - 刷新jquery mobile中动态创建的页面