【发布时间】:2014-12-16 20:55:26
【问题描述】:
是否可以通过 Angular 或 JavaScript 捕捉浏览器地址栏中的 URL 变化?
如果有人手动更改浏览器地址栏中的URL,我想捕捉这个事件。
【问题讨论】:
标签: javascript angularjs url-rewriting location
是否可以通过 Angular 或 JavaScript 捕捉浏览器地址栏中的 URL 变化?
如果有人手动更改浏览器地址栏中的URL,我想捕捉这个事件。
【问题讨论】:
标签: javascript angularjs url-rewriting location
你也可以通过以下方式捕捉它:
$rootScope.$on('$routeChangeStart', function(params) {
//catch event
});
您可以在angular docs 和stackoverflow 了解更多信息
【讨论】:
您可以通过创建如下事件处理程序来检测散列中的更改(例如http://example.com/#foo):
window.addEventListener('hashchange', function(e) {
console.log('Hash has changed!');
});
具体到 Angular,你可以使用$routechangestart 事件来捕捉 URL(即路由)的变化
$rootScope.$on("$routeChangeStart", function (event, next, current) {
// do something ...
});
或者,您可以通过 routeProvider 定义您的路由,并根据设置的路由执行特定的控制器。
【讨论】: