繁体   English   中英

jQuery脚本未在IE7中运行

[英]jQuery Script Not Running in IE7

以下代码在除IE7之外的所有其他浏览器中均能正常工作。 实际上,在页面上启用此功能后,除非我将其注释掉,否则所有脚本将无法工作。

$(document).ready(function () { 
var pathname = $(location).attr('href');
if(pathname.indexOf('sess') === -1){
    var path = pathname;    
        }else{
    var path = pathname.replace(/sess[^&]*&?/, "");
}

     $.ajax({
       type: "POST",
       url: "ajax/save_page.php",
       data: 'last_page='+path
     });
});

我检查了错误的逗号,找不到任何逗号。 如果我通过Ajax调用传递一个字面值并注释掉该函数的其余部分,则一切将按预期开始工作,但我需要整个函数才能工作。

好的,我开始意识到它无法在IE7上运行,但是我需要脚本继续进行工作,而不会完全排除IE7用户,所以我使用了。

if(navigator.appVersion.indexOf("MSIE 7.")!=-1)

确定浏览器是否为IE7,如果是,则排除该脚本位。 希望当用户意识到管理员无法正常运行时,可以说服管理员将其升级到其他浏览器。

但是,根据记录,我同意在理想世界中我们不应该支持IE7等,但是在现实世界中,很多人仍在使用它,而很多人对此无能为力。 我在医疗和牙科行业工作,许多医院等(约50%)仍在使用带有IE7的XP,尽管知道Microsoft不再支持XP,但没有立即进行升级的计划。

修订解决方案

好的,我已经修改了解决方案,我现在使用php会话传递以前在url中的sess变量,因此我不再需要尝试将其从url中移出,而其余参数保持完整。

所以现在我正在使用

var path = window.location.href;
    $.ajax({
       type: "POST",
       url: "ajax/save_page.php",
       data: 'last_page='+path
     });

在我测试的所有浏览器(包括IE7)中都能正常运行

暂无
暂无

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

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