Javascript重定向无法指向正确的URL
我有一个javascript页面:Javascript重定向无法指向正确的URL,javascript,Javascript,我有一个javascript页面: <script> var reg = "website.com"; var mob = "website.com/m"; if(window.innerWidth >= 1024) { if(window.location.href != reg) window.location.replace("http://" + reg + window.location.pathname + window.location.sea
<script>
var reg = "website.com";
var mob = "website.com/m";
if(window.innerWidth >= 1024) {
if(window.location.href != reg)
window.location.replace("http://" + reg + window.location.pathname + window.location.search)
}
else {
if(window.location.href != mob)
window.location.replace("http://" + mob + window.location.pathname + window.location.search)
}
</script>
var reg=“website.com”;
var mob=“website.com/m”;
如果(window.innerWidth>=1024){
如果(window.location.href!=reg)
window.location.replace(“http://”+reg+window.location.pathname+window.location.search)
}
否则{
如果(window.location.href!=mob)
window.location.replace(“http://”+mob+window.location.pathname+window.location.search)
}
当我运行此程序时,它会不断重新加载页面-知道如何解决此问题吗?您正在将
window.location.hostname
与mob
进行比较。当宽度小于1024时,您是否尝试记录这两种情况以查看发生了什么
console.log(window.location.hostname); // -> website.com
console.log(mob); // -> website.com/m/
如您所见,
window.location.hostname
仅为主机名,即斜杠前的位
请尝试基于
window.location.href
(或window.location.pathname
)进行比较。window.location.href返回带有http://的url,而您的“reg”和“mob”不以http://开头。
请在将http添加到变量后重试。
location.hostname
是主机名-它永远不会包含目录部分window.location.hostname
永远不会等于website.com/m/
--主机名不包含路径。好的,谢谢,但现在它什么都不做!当我以小于1024的速度加载页面时,它只会停留在.com上site@user3177012发布你的新代码。同时发布新代码中使用的任何变量的console.log
,以便我们/您可以查看正在进行的比较。@user3177012您尚未发布log
,以便我们可以查看正在比较的值。您可能还只想比较href
的开头,而不是整个内容。做一些日志记录,你会看到你自己在做什么(或者,如果没有,你会帮助我们帮助你)。我不知道如何log
-我的控制台说window.location.href不是一个函数@user3177012如果你不知道如何console.log
,谷歌我该如何控制台.log
。我们不是你的个人谷歌搜索者。您的错误消息是因为您编写了window.location.href(…)
href
不是函数,因此无法向其传递参数。您可以将该行保留为window.location.replace(…)
,就像以前一样。