我正在开发一个网站,这个网站是由桑巴共享的,连接到一群学校的电脑上。学校的电脑是这样的,我无法访问或设置任何类型的网络服务器。我试图为网站上的所有jQuery文件创建一个页眉和页脚,但是我不能通过指向相对文件路径的标准的header请求来包含它。现在,代码如下所示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<html lang='en'>
<title>Test</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<script src="javascript/libs/jquery.js"></script>
<div id="header"></div>
<script>
$.ajaxSetup({
crossOrigin: true
});
$.ajax({
url: "file://./html-templates/header.html",
data:{"id":header},
type: 'GET',
success: function(){
console.log("Added header");
}
});
</script>
</head>
<body>
</body>
</html>头文件目前只是一些用于测试的文本:
<h2>You have successfully imported the header</h2>这将从Firefox 63.0.3返回此错误消息:
跨源请求被阻止:相同的原产地策略不允许在file:///html-templates/toolbar.html.上读取远程资源(原因: CORS请求而不是HTTP)。
我是否可以手动将HTML从不同的文件导入到HTML文件中,而不需要web服务器来帮助我呢?
发布于 2018-12-11 09:14:18
对于linux用户,可以运行以下命令
google-chrome --disable-web-security --user-data-dir="/var/tmp/Chrome dev session"这将禁用所有的安全和您将通过没有任何问题。
注意:请只在本地系统进行测试时才这样做。
发布于 2018-12-11 09:49:35
为了安全起见,Chrome已经禁用了它,但幸运的是,如果你使用的是相对URL,火狐就能做到这一点。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script>
$(function () {
$.get("html-templates/header.html", function (data) {
var headerText = $(data).find('h2').text();
$('#header').text(headerText);
});
});
</script>
</head>
<body>
<div id="header"></div>
</body>
</html>发布于 2018-12-11 10:29:34
路径./与您的脚本是同一个目录,您只需
url: "html-templates/header.html",https://stackoverflow.com/questions/53720723
复制相似问题