Pie*_*ste 13 magento prototypejs internet-explorer-9
Internet Explorer 9今天发布了,我决定查看我们在过去几个月内建立的几个Magento站点,看看是否所有内容都能继续使用新版本.
但不幸的是,它没有.我遇到了一个特殊问题,这个问题是由Magento 1.6.0.3版本附带的原型库版本引起的.
看起来事件处理程序中的取消事件不起作用.
例如,如果您尝试登录Magento商店,并且只将登录名和密码字段留空,IE9即使出现错误也会提交表单,并且刷新后错误消失.
所以这是我认为的一个很大的问题.
所以我的问题是:我们如何处理这个问题?我看到了几种处理这个问题的方法:
等待一个新的Magento发布不是一个好主意,因为它可能需要几个星期才有一个,并且因为如果你运行的是非常旧版本的Magento,它将导致很多其他问题.
升级到最新的原型库可能是最好的想法,但Magento中的所有内容都将继续使用最新版本的原型,有没有人有这方面的经验?
那么每个人对这个问题的看法是什么?除了我以外的任何想法?
Nic*_*cki 16
升级Prototype有可能在Magento中打破很多东西(老实说,在Magento中做任何事情都有可能打破Magento的很多东西),我为我创建了一个主题覆盖
app/code/design/frontend/{package}/{theme}/template/page/html/head.phtml
文件并将以下内容作为head标记下的第一个元素:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
这告诉IE在可能的情况下假装它是IE 8.这解决了一个问题,例如,如果您只启用了一种付款方式,则无法签出并完成付款流程,因为在IE 9中,字段将全部显示为灰色.
请注意,它确实必须是下面的第一个标记<head>.
由于以任何方式升级Magento都有可能引发问题,我觉得这是在短期内解决问题的最不具侵入性的方法.
作为快速修复,我想我会采取与您提倡的相同方法,并将 Prototype 升级到不包含此问题的版本。然而,Magento 将附带一个补丁(这太大了,无法忽略),此时,明智的做法是撤消您的更改并应用他们提供的补丁,以与正常升级保持一致。
手动挖掘 Magento JS 的内部结构很少值得,所以这个选项对我来说似乎有点不对劲。可能有几个地方使用了这种语义,您可能会错过其中的一些。
希望有帮助!
谢谢,约瑟夫·马斯蒂