chrome的大问题,附加dom元素和返回行为
Big issue with chrome, appended dom elements and back behavior
我正在努力解决一个显然没有解决方案的问题。
我正在为客户编写一个jQuery购物车(参见这里的演示:http://thisisnot2.fornacestudio.com/prodotto)。
购物车脚本正在大量操作dom元素。问题是,在发布订单到表单页面后,如果您在Chrome浏览器中点击后退按钮,脚本停止工作(例如:类别在点击后不显示其内容)。
有人知道是什么原因引起的吗?
谢谢!
如果你不知道这个错误来自于such -cart.js中的第351行
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标签中,你也通过加载jQuery 1.6.1的本地副本<script type='text/javascript' src='http://thisisnot2.fornacestudio.com/wp-includes/js/jquery/jquery.js?ver=1.6.1'></script>
最后,在页面的最底部,你通过包含你的simplemodal脚本<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插件加载的脚本立即加载,但LazyLoad包括jQuery 1.6.2通过谷歌不通过缓存运行,因为它是一个脚本,因此是加载后的前两个脚本覆盖jQuery对象1.6.2和删除simplemodal脚本加载到对象。
所以你需要从你的页面中删除延迟加载的jQuery
- Jquery在刷新时返回元素的旧值
- 什么'这是返回元素的好方法's路径
- Javascript函数无法返回元素
- getElementById 不返回元素
- JQuery .index() 不返回元素的正确索引
- Lodash Javascript 基于唯一属性值返回元素
- 为什么随机选择算法在 Array[low] 时返回元素(低 === 高)
- scrollTop() 返回元素下方的位置
- Jquery 返回元素的 .width() 取决于元素的找到方式
- D3 按类选择元素并返回元素 ID
- 移除.append()以向其返回元素'的原始状态
- 如何在Selenium Python execute_script中获取返回元素的值
- jQuery find-返回元素的顺序是什么
- 使用jQuery Mobile时未能返回元素的width()
- 数组的递归返回元素
- XML getElementsByTagName在Safari中不返回元素
- JavaScript shift()方法是否返回元素的引用或副本?
- 是否有官方的w3c声明指出用户代理实际上必须以大写形式返回元素的标记名称?
- jQuery在PC上返回元素ID,在Android上返回'undefined'为什么
- 在承诺后从jQuery插件返回元素