仅在主页上执行jQuery

时间:2015-10-28 08:12:44

标签: javascript jquery

我正在尝试使用下面的jQuery触发按钮点击页面加载

<script>
    jQuery(function(){
      jQuery('#clickson').click();
    });
</script>

它完美无缺,但我在每个页面上都有这个按钮ID,我怎样才能使用它,只会在主页和子域主页上触发。

例如,它只应在example.com,subdomain1.example.com等任何其他网页上触发example.com,subdomain1.example.com,subdomain2.example.com和 NOT / path,subdomain2.example.com/path

3 个答案:

答案 0 :(得分:0)

因为你说你反对硬编码的字符串方法,所以接下来是一小段接受一系列页面的代码。 location.pathname是域之后和查询字符串之前的url部分。据我所知,它是在我遇到的每个浏览器中实现的。

var pages=['/','/home'];
for(var i=0;i<pages.length;i++)
{
    if(location.pathname==pages[i])
    {
        //do stuff you want here
        break; //terminates the loop on first match
    }
}

答案 1 :(得分:-1)

使用正则表达式匹配当前网址:

var href = window.location.href;
var regex = /(example\.com)$/i; // find only example.com at the end of URL

if ( regex.test(href) ){
  // if passed
  // do jQuery stuff here
}

答案 2 :(得分:-1)

尝试检查所选网址的location.href

jQuery(function() {     
  var loc = location.href; 
  // if `location.href` is equal to  
  // "example.com","subdomain1.example.com", "subdomain2.example.com"
  // call `.click()` on `#clickson`
  if (loc === "example.com" 
      || loc === "subdomain1.example.com" 
      || loc === "subdomain2.example.com") {
    jQuery("#clickson").click();  
  }
});

&#13;
&#13;
jQuery(function() {           
  if (location.href === "http://stacksnippets.net/js") {
    jQuery("#clickson")[0].click();  
  }
});
&#13;
#home {
  display:block;
  position:relative;
  top:400px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<a id="clickson" href="#home">click</a>
<div id="home">home</div>
&#13;
&#13;
&#13;