我改变了整个问题,因为我在第一次运行时没有提供足够的信息:感谢@Sergio。
IE中有很多不起作用的东西。
当我执行addEvent(' domReady')时......它更糟糕(它没有被执行但是如果我刷新页面......它有效)
有没有一种正确的方法来处理MooTools中的IE内容?
注意: 在IE *
之外的整个星球上的每个浏览器上工作编辑:添加了ajax购物车的完整源代码。 这段代码是正确的,它只是为了理解目的: 的 ajax_cart.js
var AjaxCart = new Class({
Implements: Options,
cartDiv: null,
options: {
elem_id: 'shopping-cart-icon',
event: 'mouseenter',
url: 'changed_url_but_it's_correct='+(new Date().getTime())
},
var AjaxCart = new Class({
Implements: Options,
cartDiv: null,
options: {
elem_id: 'shopping-cart-icon',
event: 'mouseenter',
url: '/changed_url_but_it's_correct='+(new Date().getTime())
},
var AjaxCart = new Class({
Implements: Options,
cartDiv: null,
options: {
elem_id: 'shopping-cart-icon',
event: 'mouseenter',
url: '/changed_url_but_it's_correct'+(new Date().getTime())
},
initialize: function() {
var cart = this;
this.elem = $(this.options.elem_id);
if (this.elem) {
this.elem.addEvent(this.options.event, function() {
cart.viewCart();
});
}
},
getCart: function() {
var cart = this;
var myHTMLRequest = new Request.HTML({
url: cart.options.url,
onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript) {
//console.log(responseHTML);
if (!cart.cartDiv) {
cart.cartDiv = new Element('div', {'class':'ajax-cart'});
cart.cartDiv.fade('hide');
cart.cartDiv.inject(cart.elem);
cart.cartDiv.addEvent('mouseleave',function() {
this.fade('out');
});
}
cart.cartDiv.innerHTML= responseHTML;
cart.cartDiv.fade('in');
},
onFailure: function(xhr) {
console.log(xhr.responseText);
}
}).get();
},
viewCart: function() {
if (this.cartDiv) {
this.cartDiv.fade('in');
} else {
this.getCart();
}
}
});
此代码适用于除IE以外的所有浏览器,只有在刷新页面后才有效。 index.html中的
if(Browser.ie) {
var ajaxCart;
window.addEvent('load', function() {
ajaxCart = new AjaxCart({'elem_id':'shopping-cart-icon'});
});
} else {
var ajaxCart;
window.addEvent('load', function() {
ajaxCart = new AjaxCart({'elem_id':'shopping-cart-icon'});
});
}
答案 0 :(得分:1)
在某些版本的Internet Explorer(即IE6)中,如果在脚本标记之后放置内容类型元标记声明,则脚本标记可能会执行两次。
应始终在任何脚本标记之前声明content-type。
答案 1 :(得分:0)
我想没有解决方案所以我必须为此找到解决方法。 我做了什么:
由于我的问题是通过刷新页面解决的,所以我在meta标签中做了这个。
<meta http-equiv="Expires" content="-1" />
在修复IE刷新漏洞时,它可能对其他人有所帮助。