0

如果当前位置包含 html,则执行 javascript。我尝试了以下方法,但它不起作用

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
}
4

5 回答 5

3
var isHTML = "html" === window.location.pathname.split(".").pop().toLowerCase();
if ( isHTML ) {
    //execute javascript here
}

请参阅使用正则表达式的 Amaan 答案:

https://stackoverflow.com/a/8619635/887539

于 2011-12-23T18:49:24.057 回答
1
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
}

演示

于 2011-12-23T18:50:48.690 回答
0
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
}
于 2011-12-23T18:43:54.647 回答
0

我的建议:

if ( window.location.pathname.match( /html$/ ) ) {
    // do it
}

如果值只需要一次,则不必声明局部变量...

于 2011-12-23T18:52:09.607 回答
0
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")
}
于 2011-12-23T18:54:02.457 回答