以下脚本的目的是什么?
<head>
<script>document.write('<base href="' + document.location + '" />');</script>
...
</head>
我有点理解base href用于设置默认路径的初始部分。那么这个网址在哪里设置? 后来我用
<body ng-app="plunker" ng-controller="NavCtrl">
<p>Click one of the following choices.</p>
<ul>
<li ng-class="{active: isActive('/tab1')}"><a href="#/tab1">tab 1</a></li>
<li ng-class="{active: isActive('/tab2')}"><a href="#/tab2">tab 2</a></li>
</ul>
<pre>{{ path }}</pre>
</body>
使用以下控制器:
var app = angular.module('plunker', []);
app.controller('NavCtrl', function($scope, $location) {
$scope.isActive = function(route) {
$scope.path = $location.path();
return $location.path() === route;
};
});
答案 0 :(得分:5)
<base>
元素指定用于文档中包含的所有相对URL的基本URL。
来自Mozilla Developer Network定义:
Document.location只读属性返回一个Location对象, 其中包含有关文档URL的信息并提供 用于更改该URL并加载其他URL的方法。
在您的情况下,它会将base href
设置为当前网址。此外,document.location
相当于document.location.href
。