Javascript ng包括不为Chrome工作
我创建了一个test.html文件来尝试调试这个问题 test.htmlJavascript ng包括不为Chrome工作,javascript,angularjs,Javascript,Angularjs,我创建了一个test.html文件来尝试调试这个问题 test.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js"></script> <script src="a
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js"></script>
<script src="app/controllers/MainController.js"></script>
</head>
<body ng-app="MyApp" ng-controller="MyController">
<h1>{{ siteHeader }}</h1>
<div ng-include="'assets/templates/header.html'"></div>
</body>
</html>
{{siteHeader}}
header.html(资产/模板内部)
{{siteHeader}}
当我在Chrome中打开index.html时,第一个{{{siteHeader}}
将加载站点的标题。header.html的任何内容(siteHeader和徽标PNG)都不会在其下方加载。当我在Firefox或Safari中打开相同的index.html文件时,header.html内容确实出现在第一个{{siteHeader}}
下面
我做错了什么/丢失了什么?我假设您是从本地硬盘上运行该文件的。(
文件://
)。Chrome阻止脚本从文件
源文件读取文件。这就是为什么无法成功读取模板文件并将其包含到页面中的原因
您有两个解决方案:,一个简单的解决方案是在允许文件访问
模式下运行chrome。这可以帮助您:
另一个解决方案是创建一个简单的http本地服务器,并从该服务器运行站点。您可以使用php、nodejs、ruby、python或其他任何工具运行此服务器。这可以帮助您:
更多信息:
<div class="jumbotron">
<img id="logo" src="assets/img/logo.png" />
<br />
<h1>{{ siteHeader }}</h1>
</div>