Jquery移动页面仅在重新加载后才能运行?

时间:2014-07-28 19:21:18

标签: jquery html jquery-mobile reload

我仍然不确定我的问题是什么,但我已经详细说明了发生了什么,我尝试了什么,以及我可以采取哪些措施来解决以下问题:

我使用.mmenu这很漂亮,但我遇到了一些与Jquery Mobile一起运行的冲突。

在初始页面加载时与Jquery Mobile一起使用时菜单无法正常运行,但如果我手动重新加载页面它会正常运行,所以我想也许有些东西是缓存,所以我尝试使用<meta http-equiv="Pragma" content="no-cache"/>但是那不起作用。我甚至尝试<meta http-equiv="refresh" content="0;URL='page2.asp'" />作为测试,页面仍然会加载,但在重新加载页面后会进入无限循环。因此,显然元标记根本不会处理初始页面加载。

然后我尝试了javascript:function LoadOnce(){ window.location.reload(); }并再次放置<body onLoad=" LoadOnce()">,循环在我重新加载页面之后才开始。

除了点击重新加载按钮之外,是否有可靠的方法强制页面重新加载并执行我的Jquery?

守则

菜单链接如下所示:<a href="#menu"></a>

菜单执行方式如下:$(document).ready(function(){ $("#menu").mmenu();});

正在发生许多事情:

  • 当我导航到新页面时,菜单显示为块元素, 它应该被隐藏,所以看起来$("#menu").mmenu();不是 执行。
  • 点击新页面中的菜单图标不会打开菜单,而是尝试离开页面(例如:从page1.asp导航到page2.asp, 单击page2.asp上的#menu链接,而不是滑动打开#menu 在page2.asp上,页面尝试导航到page1.asp#menu)

Here is a test page where you can see the behaviour described above.

刷新页面使其工作,并删除jquery.mobile-1.4.3.js使菜单工作而不必刷新,但显然打破了网站的结构,为什么我的页面在强制重新加载后工作但不在初始负载?有没有一种简单的方法来解决这个问题,我还没考虑过?

1 个答案:

答案 0 :(得分:0)

除非我完全错过这里的问题,否则我认为我有一个类似的问题,在我的js ajax调用之前我的页面会加载(或窗口位置会改变),所以我没有出现任何问题页。

我的解决方案最终是将jQuery内容放在html页面上的脚本标记中,而不是放在单独的脚本中。因此,不是通过按钮单击或其他东西重新加载页面,或在其他地方导航,让按钮或表单操作调用一些函数来执行您需要的jQuery,然后重新加载页面(如果那是目标),或导航到你想要的页面。关键是你在调用成功时包含了重新加载,所以它只会在你的jQuery成功执行之后执行。希望这有帮助