我正在努力解决一个显然没有解决方案的问题。
我正在为客户编写jQuery购物车(请参阅此处的演示:http://thisisnot2.fornacestudio.com/prodotto )。
cart脚本正在大量操作dom元素。问题是,在将订单发送到表单页面后,如果您在Chrome中点击浏览器中的后退按钮,脚本将停止工作(例如:类别在被单击后不会显示其内容)。
有人知道这是什么原因吗?
谢谢!
发布于 2011-11-18 23:47:52
好吧,如果您不知道错误来自于351行,例如-cart.js
jQuery(this).find(".category-content").modal( ... );在object has no method 'modal'的形式中,我还没有弄清楚原因,因为当我看到页面上包含的脚本时,最初用硬刷新点击页面,然后导航离开并返回。
谷歌编辑:在查看了更多脚本后,我注意到您在页面顶部使用了一个lazyload,通过 https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js包含了jQuery 1.6.2
然后,在您的head标记中,您还可以通过<script type='text/javascript' src='http://thisisnot2.fornacestudio.com/wp-includes/js/jquery/jquery.js?ver=1.6.1'></script>加载jQuery 1.6.1的本地副本
最后,在页面的最底部通过<script type="text/javascript" src="http://thisisnot2.fornacestudio.com/wp-content/themes/notatemplate/cart/jquery.simplemodal.1.4.1.min.js"></script>包含简单的模式脚本
我的理论是对页面进行硬刷新,首先加载两个jQuery脚本,然后加载simplemodel脚本,这当然会扩展其.model()方法,而不是加载到jQuery对象上。
但是,当您离开页面并返回时,通过<script> jQuery 1.6.1和since模型插件加载的脚本会立即加载,但是通过谷歌包含的jQuery 1.6.2的LazyLoad不会通过缓存运行,因为它是一个脚本,因此在前两个脚本之后加载会覆盖jQuery对象到1.6.2,并删除加载到对象中的simplemodal脚本。
因此,您需要从页面中删除延迟加载jQuery。
https://stackoverflow.com/questions/8184784
复制相似问题