我有一个网站example.com。 当我访问此页面example.com/#login时,我想调用js警报功能。 我怎么能这样做?
答案 0 :(得分:5)
// example.com/#login
if (window.location.hash) {
alert("URL has hash");
var hash = window.location.hash; // = "#login"
callMyFunction();
}
答案 1 :(得分: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 *框架,但它有一个路由器的概念也很有帮助。
答案 2 :(得分:0)
您可以查看#login的网址。如果它存在则调用该函数。 http://www.webmasterworld.com/forum91/216.htm
我推荐jQuery,这个方法: http://jquery-howto.blogspot.co.uk/2009/09/get-url-parameters-values-with-jquery.html
答案 3 :(得分:0)
我认为您可以检查window.location.hash
是否不是假值,以检查网址中是否有哈希值。
例如:
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