我正在开发我的第一个 jQuery Mobile Web 应用程序。它是一个多页面应用程序,都在一个 html 文件中。这些页面在加载时都存在,但这些页面中的内容是动态创建的。
加载 html 页面时加载的主页称为#mapWindow
. 另一个页面被调用#formWindow
,并根据在地图上选择的点动态填充表单元素#mapWindow
。
如果我目前正在查看#formWindow
我的网址是:http://my/url.html#formWindow
. 如果我点击浏览器 (Chrome) 上的刷新按钮,我只会在浏览器中看到一个旋转的轮子,控制台"Uncaught Error: Syntax error, unrecognized expression: :nth-child"
会显示"jquery-1.9.0.min.js"
.
我使用window.onbeforeunload
andwindow.onunload
事件做了一些测试,这个错误发生在页面被卸载后。通过进一步的测试,我在我的 html 页面中的第一行 Javascript 上放置了一个断点,即在.js
加载 jQuery 文件之前。我看到的错误发生在断点之前。事实上,由于错误,断点甚至没有被命中。
我不知道这里发生了什么,或者什么时候发生。我曾经在不同的情况下看到过这个错误消息,当时我试图navbar
在它添加任何项目之前销毁它。我能够通过在调用之前检查项目来解决这个问题$("[data-role='navbar']").navbar("destroy")
。