我有一个网站 example.com。当我访问这个页面 example.com/#login 时,我想调用一个 js 警报函数。我怎样才能做到这一点?
问问题
1070 次
4 回答
5
// example.com/#login
if (window.location.hash) {
alert("URL has hash");
var hash = window.location.hash; // = "#login"
callMyFunction();
}
于 2012-04-30T14:44:32.443 回答
1
如果您想要一个好的跨浏览器库来处理 url,我会查看 History.js
https://github.com/browserstate/History.js/
History.Adapter.bind(window,'statechange',function(){
// Note: We are using statechange instead of popstate
var State = History.getState();
// Note: We are using History.getState() instead of event.state
History.log(State.data, State.title, State.url);
});
还有 Backbone.js,它可能比你需要的要多,因为它是一个 MV* 框架,但是它有一个路由器的概念,这也很有帮助。
于 2012-04-30T14:49:34.607 回答
0
我认为您可以检查是否window.location.hash
不是虚假值来检查 URL 中是否存在哈希值。
例如:
function someAlert(message) {
// This would be your alert function. This is just for example
alert(message);
}
// The "if the URL has a hash":
if (window.location.hash) {
someAlert("Hello URL with a hash visitor!"); // "Hello URL with a hash visitor!" can be whatever you want
}
如果您想保存之后的任何内容(包括哈希),只需使用:
var hash = window.location.hash; // hash would be "#login" if the URL was http://example.com/#login
于 2012-04-30T14:52:46.693 回答
0
您可以检查#login 的URL。如果存在,请调用该函数。 http://www.webmasterworld.com/forum91/216.htm
我推荐 jQuery,这种方法:http: //jquery-howto.blogspot.co.uk/2009/09/get-url-parameters-values-with-jquery.html
于 2012-04-30T14:44:07.327 回答