繁体   English   中英

镀铬的大问题,附加的dom元素和后背行为

[英]Big issue with chrome, appended dom elements and back behavior

我正在努力解决一个似乎解决不了的问题。

我正在为客户编写jQuery购物车(请参见此处的演示: http : //thisisnot2.fornacestudio.com/prodotto )。

购物车脚本正在大量操作dom元素。 问题在于,将订单发布到表单页面后,如果您在Chrome浏览器中单击后退按钮,脚本将停止工作(例如:类别在单击后不会显示其内容)。

有人知道是什么原因造成的吗?

谢谢!

好吧,如果您不知道错误来自suchi-cart.js中的351行

jQuery(this).find(".category-content").modal( ... );

object has no method 'modal'形式object has no method 'modal' ,我一直没有弄清楚为什么会这样,因为当我最初用硬刷新访问页面时以及导航离开并返回时,我看到了页面中包含的脚本。


编辑 :查看脚本后,我注意到您在页面顶部使用了lazyload ,通过Google https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js包含jQuery 1.6.2 https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js

然后在您的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-includes/js/jquery/jquery.js?ver=1.6.1'></script>

最后,在页面的最底部,通过<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和simplemodel插件加载的<script> ,会立即加载,但是通过Google的jQuery 1.6.2的LazyLoad包含不会通过缓存运行,因为它是一个脚本,因此在前两个脚本将jQuery对象重写为1.6.2并删除加载到该对象中的simplemodal脚本之后加载。

因此,您需要从页面中删除延迟加载jQuery。

暂无
暂无

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

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