我编写了这个脚本,为我的在线商店添加JavaScript功能,该脚本适用于Firefox和Chrome,但不会运行ie,我不确定为什么?
由于脚本冲突,我使用的是jQuery(function( $ ){
而不是.ready
,我使用.ready
测试了脚本,但仍然无法使用ie。
如果有人有想法,他们会非常感激。
jQuery(function( $ ){
setInterval(function(){ updatecart(); },8000);
$('.addtobag').on('click', function(){
event.preventDefault();
var postdata = new Object();
var action = $(this).closest('form').attr('action');
$(':input',$(this).closest('form')).each(function(evt){
var L = $(this).attr('name')
postdata[L] = $(this).val();
});
$.post(action, postdata);
generate('success'); //display banner
updatecart(); //update cart
});
var postdata = new Object();
postdata['basket'] = phpbasket;
function updatecart() {
$.post("/get_cart_details.php", postdata, function (data) {
var obj = $.parseJSON(data);
$('#qty_js').text(obj.items_qty);
$('#amt_js').text(obj.items_value);
});
}
function generate(type) {
var n = noty({
text: 'The item(s) have been added to your basket.',
type: type,
dismissQueue: true,
layout: 'topCenter',
theme: 'defaultTheme'
});
console.log('html: '+n.options.id);
setTimeout(function() {
$.noty.closeAll();
}, 5000);
}
});
答案 0 :(得分:1)
摆脱console.log()
声明。 IE<它上面有9个扼流圈,9个仅在控制台打开时有效。
答案 1 :(得分:0)
尝试在点击回调中添加event
参数
$('.addtobag').on('click', function(event){
答案 2 :(得分:0)
在某些浏览器而不是IE中可能容忍的一些事情是第12行在结尾处缺少分号,并且未定义变量phpbasket(尽管如果您使用'var phpbasket'在闭包之外定义它那么你应该没问题。如果你在IE 9或更高版本中调试它,你应该能够在控制台中看到错误的行号。
答案 3 :(得分:0)
不是一个完整的答案,但它可能会指出你正确的方向。我实际上是要问一个类似的问题 - 我发现如何让IE 11加载jquery,但它要求用户点击“f12”然后“运行activex”,因为显然IE认为我的代码可能不安全。但是当用户告诉activex运行时,它运行正常。
我正在尝试学习如何使用jquery制作触摸屏友好的下拉菜单,所以我的代码是基本的 - 没有CSS,没有doctype,只是基本的html和js。如果其他人能够对此有所了解,那就太棒了。