Это потому, что переменная url
всегда установлена на http://website.com/#store
var url = "http://website.com/#store";
Измените это на:
var url = window.location.href;
window.location.href
будет получать текущий адрес.Тогда хэш должен быть правильным.
или учиться на этом коде, используя вместо этого location.hash
:
var hash = window.location.hash;
if (hash == "#store")
{
window.location.replace("http://store.website.com");
}
else if (window.location.hostname == "website.com")
{
window.location.replace("http://m.website.com");
}
Fist мы используем window.location.hash
, чтобы получить часть хеша и сопоставить ее.Если это не проходит, проверьте имя хоста.не используйте полный URL.Если кто-то входит с использованием HTTPS вместо HTTP, он не пройдет.Поэтому используйте window.location.hostname
для сопоставления доменного имени.
Имейте в виду, что этот код повлияет не только на мобильные устройства, если вы не проверите, используется ли мобильное устройство, в противном случае пользователи настольных компьютеров будут перенаправлены на m.website.com
тоже.