Chrome和–allow-file-access-from-files

我有一个jquery / AJAX登录页面,可以在Chrome以外的所有浏览器中使用。 似乎我在Chrome中遇到了一个问题,这个问题涉及使用Chrome中的本地文件的jQuery getJSON问题 – 有人说这是一个错误,其他人说这是一个很好的安全性。 我说这很令人沮丧。

我应该补充说,登录实际上是有效的,这是打破的AJAXiness。 解决方案是将–allow-file-access-from-files添加到启动环境中。 很好,但是如何解决使用Chrome的网站访问者的问题?

作为Chrome用户,拥有代码来检查使用Chrome的用户并说“使用其他内容”会很具有讽刺意味。

有没有人知道如何围绕这个问题进行编码?

对于它的价值,这里是代码:

  $(文件)。就绪(函数()
 {
     $( “#login_form”)。提交(函数()
     {
         //删除所有类添加消息框类并开始淡入淡出
         。$( “#MSGBOX”)removeClass()addClass( '信息框')文本( '检查...')淡入(1000)。
         //从ajax检查用户名是否存在
         $ .post(“/ ajaxsignin.php”,{email:$('#email')。val(),密码:$('#password')。val(),记住:$('#remember')。 val(),rand:Math.random()},函数(数据)
         {
           if(data.success)//如果正确的登录详细信息
           { 
 ////////////////////////////////////////////////// ///////////////////
 //如果我在这里放置一个提醒(),Chrome就看不到它,但所有其他浏览器都没有
 ////////////////////////////////////////////////// ////////////////////

                 document.getElementById(“msgbox”)。innerHTML ='登录成功';

                 。的document.getElementById( “topmenutext”)style.paddingTop = '3PX';

                 document.getElementById(“topmenutext”)。innerHTML =“BUG REPORT |退出|联系|帮助”;

                 var sPath = window.location.pathname;
                 var sPage = sPath.substring(sPath.lastIndexOf('/')+ 1);

                 if(sPage ==“register.php”|| sPage ==“index.php”|| sPage ==“”){
                     window.location.href = 'menu.php';
                 }
                其他{
                     disablePopup();
                 }

           }
          否则//如果登录失败
           {
               $(“#msgbox”)。fadeTo(200,0.1,function()//开始淡出消息框
             { 
               //添加消息并更改框的类并开始淡化
               $(this).html('登录失败 - 也许你需要注册一个帐户')。addClass('messageboxerror')。fadeTo(900,1);
             });     
           }

         }, “JSON”);
        返回虚假;  //不要在物理上发布表单
     });
     //现在调用ajax也可以从焦点移动 
     $( “#submitbtn”)。点击(函数()
     {
         $( “#login_form”)触发( '提交')。
     });
 }); 

如果您尝试使用Chrome从本地文件系统加载文件,这应该只是一个问题。 这是因为Chrome在文件系统上有严格限制的AJAX策略。

从本质上讲,Chrome不允许对html页面文件夹之外的文件进行AJAX请求。 要解决此问题,只需从Web服务器提供文件即可。 您的网站访问者可能会通过Web服务器访问您的网站,所以这对他们来说不应该是一个问题。