【问题标题】:JQuery .load() method isn't working in Google Chrome browserJQuery .load() 方法在 Google Chrome 浏览器中不起作用
【发布时间】:2014-03-18 12:04:27
【问题描述】:

您好,我正在使用 jquery .load() 方法加载页面。
该页面已在 Firefox 上完美加载,但当我在 google chrome 上打开该页面时未加载。

你们有什么解决办法吗?

<script>
          var xmlHttp;
          function initAjax() {
              try {
                  xmlHttp = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
              } catch(e) {
                  try {
                      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
                  } catch(e) {
                      try {
                          xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                      } catch(e) {
                          alert("No AJAX!?");
                          return false;
                      }
                  }
              }

              xmlHttp.onreadystatechange = function() {
                  if(xmlHttp.readyState == 4) {
                      document.getElementById('main_container').innerHTML = xmlHttp.responseText;
                  }
              }
          }

function updateAjax(mypage) {
            var t=mypage;
            //alert(t);
                  if(t=="")
                  {
                      //alert("Welldone");   
                  }
                  else
                  {
                      xmlHttp.open("GET", t, true);
                      xmlHttp.send(null);
                  }
          }

window.onload = function() {
              initAjax();
          }
        </script>

        <div id="main_container" style="position: relative;">

        </div>

        <script src="../js/jquery.min.js"></script>
        <script src="../js/bootstrap.min.js"></script>
        <script src="../js/docs.min.js"></script>
        <script src="../js/jRating.jquery.js"></script>

        <script type="text/javascript">
          $("#main_container").load("home.html");
        </script>

【问题讨论】:

标签: javascript jquery ajax google-chrome


【解决方案1】:

这是你的答案.. 尝试使用这个..

 <script>
      var xmlHttp;
      function initAjax() {
          try {
              xmlHttp = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
          } catch(e) {
              try {
                  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
              } catch(e) {
                  try {
                      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                  } catch(e) {
                      alert("No AJAX!?");
                      return false;
                  }
              }
          }

          xmlHttp.onreadystatechange = function() {
              if(xmlHttp.readyState == 4) {
                  document.getElementById('main_container').innerHTML = xmlHttp.responseText;
              }
          }
      }

function updateAjax(mypage) {
        var t=mypage;
        //alert(t);
              if(t=="")
              {
                  //alert("Welldone");   
              }
              else
              {
                  xmlHttp.open("GET", t, true);
                  xmlHttp.send(null);
              }
      }

window.onload = function() {
          initAjax();
      }
    </script>

    <div id="main_container" style="position: relative;">

    </div>

    <script src="../js/jquery.min.js"></script>
    <script src="../js/bootstrap.min.js"></script>
    <script src="../js/docs.min.js"></script>
    <script src="../js/jRating.jquery.js"></script>

    <script type="text/javascript">
     $(document).ready(function(){
      $("#main_container").load("home.html"); }); 
    </script>

【讨论】:

  • 我遇到了类似的问题。尝试在服务器中托管并加载。它会正常工作。如果您尝试从本地 chrome 加载页面将无法正确显示。
【解决方案2】:

问题只是出于安全原因,Chrome 阻止了本地文件的 .load()。如果您在服务器上使用它,它可以工作,因为所有文件都来自同一个地方。



要在本地启用工作版本,请尝试:

在 Mac OS X 中,相当 Chrome,在终端中输入:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --allow-file-access-from-files

在 Windows 中,相当 Chrome,在命令提示符中输入:

chrome.exe --allow-file-access-from-files

(也许你实际上必须有路径......我不这么认为。如果是这样,你必须自己找到它。)

在 Linux 中,相当 Chrome,在终端中输入如下内容:

/usr/bin/google-chrome --allow-file-access-from-files

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    相关资源
    最近更新 更多