问题
Execute javascript if current location contains html in in. I have tried the below but it doesn't work
var winloc = window.location; //for e.g http://mysite.com/home.html
var ishtml = winloc.match(/html/$);
var dothtml = "html";
if(dothtml==ishtml){
//execute javascript here
}
回答1:
var isHTML = "html" === window.location.pathname.split(".").pop().toLowerCase();
if ( isHTML ) {
//execute javascript here
}
See Amaan answer using regexp:
https://stackoverflow.com/a/8619635/887539
回答2:
var winloc = window.location.pathname; //for e.g http://mysite.com/home.html
var ishtml = /html$/i.test(winloc); //Remove the i if you want to match only html and not HTML
if(ishtml === true){
//Your JS
}
Demo
回答3:
var winloc = window.location; //for e.g http://mysite.com/home.html
var ishtml = winloc.match(/html$/i);
var dothtml = "html";
if(dothtml==ishtml){
//execute javascript here
}
回答4:
My suggestion:
if ( window.location.pathname.match( /html$/ ) ) {
// do it
}
You don't have to declare local variables if the value are only needed once...
回答5:
var re = /.*(\.html)$/i;
var winloc = window.location.href; //for e.g http://mysite.com/home.html
var ishtml = winloc.match(re)[1];
var dothtml = ".html";
if(dothtml==ishtml){
//execute javascript here
alert("yes")
}
来源:https://stackoverflow.com/questions/8619552/if-window-location-ends-with-html-execute-javascript