在本地文件上使用Javascript / jQuery拒绝权限

时间:2010-05-17 19:51:52

标签: javascript jquery html ajax local-files

function publish(text) {
 $('#helpdiv').prepend(text);
}

function get_help(topic) {
  $.get(topic, publish);
}

<p>Hi. <a href="#" onclick="get_help('inline-help.html'); return false;">click here for more help.</a></p>
<div id="helpdiv"></div>

我继承了上面的这一大块HTML和javascript(片段)。它将被用作本地帮助。目前它只在线,它工作正常。但是,当我在本地复制文件时,我在Internet Explorer中获得“权限被拒绝”,而当我“点击此处获取更多帮助”时,Chrome中没有任何操作。它应该做的是从inline-help.html加载帮助内容并将其显示在helpdiv div中。现在这里是踢球者,如果我将相同的文件复制到我的PC上的inetpub并将其加载为http://localhost/hello.html,它就能完美运行。

据推测,这是一个安全问题,“本地”区域不允许我从用户的HD加载文件?但我不确定发生了什么,并希望进一步了解这个问题,并可能提出一个解决方法。

非常感谢任何见解。

2 个答案:

答案 0 :(得分:1)

jquery的“get”使用xmlHttpRequest,遗憾的是,它不能用于本地文件。如果您确实需要能够异步获取本地数据(或来自不同域的数据),则应使用动态脚本标记。但是,这意味着必须将数据文件重新格式化为JSON数据。

答案 1 :(得分:0)

我认为您的浏览器不允许您在本地运行JavaScript(使用file:///访问方法)。但是当你从http://localhost/加载它时,它可以正常工作。

您需要在网站上进行开发,或使用本地主机服务器。