我对javascript很新。我有一个简单的onbeforeunload函数,它目前适用于所有页面,我希望它激活某些子页面(#clients,#products,#news),但不能激活我的域的第一个子页面(index.html)。我想避免将脚本放在每个子页面中,而是希望在onbeforeunload函数触发之前使用条件语句来检测子页面的名称。我目前的代码如下:
window.onbeforeunload = function(event) {
event.returnValue = "You have unsaved work";
};
我知道我需要以某种方式使用window.location.href,但尚未弄明白。我尝试使用下面的代码来获取网址或每个网站,然后想将其输入到一个案例陈述中,返回了网址,但是案例中的代码不起作用:
document.getElementById("demo").innerHTML =
"Page location is " + window.location.href;
案例代码:
<script>
var text;
switch (window.location.href) {
case "http://mydomain/#/clients":
text = 1;
break;
case "http://mydomain/#/products/":
text = 2;
break;
case "http://mydomain/#/news":
text = 3;
break;
default
text = 4;
break;
}
document.getElementById("demo").innerHTML = "Number is " + text;
</script>
谢谢
答案 0 :(得分:1)
“window.location.href”会返回整个var f = navigator.userAgent.search("Firefox");
if (f > -1) {
console.log("Firefox");
,而是使用URL
。另外,请确保将路径名称(包括扩展名)添加到location.pathname
数组。
试试这个。
pathsToAddTheScript