通过jQuery加载本地文件

时间:2011-10-05 19:47:10

标签: javascript jquery

花了3个小时阅读参考,但仍然没有效果,所以问这里。

操作系统:Windows 7(相关吗?)
 浏览器:Opera 11.51
 jQuery:1.6.2


本地计算机上的两个文件, main.html menu.html 位于同一文件夹中。

main.html中:

<html>
  <head>
    <script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function(){
        // append contents
        $('#menu').load('menu.html');
      });
    </script>
  </head>
  <body>
    <table>
      <tr>
        <td id="menu"></td>
      </tr>
    </table>
  </body>
</html>

menu.html:

<html>
  <head></head>
  <body>
  menu tree
  </body>
</html>

正如我猜的,当我打开main.html时,应该有一个表,其中一个单元格包含“菜单树”字符串。例如,它可以在IE中运行。但Opera没有显示任何结果。

我使用load()的可选回调调试了这些东西,它显示load()的结果状态是“错误”。

我做错了什么?

2 个答案:

答案 0 :(得分:4)

在Opera中,您必须设置标志Allow File XMLHttpRequest(opera:cofig - User Prefs)。

在谷歌浏览器中,您必须使用选项参数 - 从运行浏览器的文件访问 - 文件访问,例如:“C:\ Documents and Settings \ User \ Local Settings \ Application Data \ Google \ Chrome \ Application \ chrome.exe“--allow-file-access-from-files

答案 1 :(得分:0)

您可能希望摆脱Menu.html中的<body><head><html>标记。

您现在的行为方式是HTML无效,因为文档中只允许使用一个<body><head><html>标记。

将Menu.Html更改为

<p>
    Menu
</p>

试试吧!