2011-09-12 85 views
2

我想執行下面僅如果該URL不包含#如果URL包含#

所以不執行腳本,如果URL = http://win-e98sopqc735/Previsions/Lists/Prvisions/ViewParDateJour.aspx#ServerFilter=FilterField1

但如果執行該腳本不執行腳本URL = http://win-e98sopqc735/Previsions/Lists/Prvisions/ViewParDateJour.aspx

function addDays(dateObj, numDays) { 
      dateObj.setDate(dateObj.getDate() + numDays); 
      return dateObj; 
     } 

     function dateToShortString(date) { 
      var d = date.getDate(); 
      var days = (d < 10) ? '0' + d : d; 
      var m = date.getMonth() + 1; 
      var month = (m < 10) ? '0' + m : m; 
      var year = date.getFullYear(); 
      var shortDateString = days + "/" + month + "/" + year; 
      return shortDateString; 
     } 

     var now = new Date(); 
     var today = dateToShortString(now); 
     var tomorrow = dateToShortString(addDays(now, 1)); 
     var nextWeek = dateToShortString(addDays(now, 8)); 


     var url = location.pathname; 
     //Set today's date if url contains ViewParRubriqueJour.aspx and ViewParDateJour.aspx 
     if (url.indexOf('ViewParRubriqueJour.aspx') >= 0 || url.indexOf('ViewParDateJour.aspx') >= 0) { 
      jQuery("input[id*='ctl00_ctl00_ctl00']").val(today); 
      jQuery("input[id*='ctl00_ctl01_ctl00']").val(today); 
     } 
     //Set tomorrow's date if url contains ViewParDateDemain.aspx and ViewParRubriqueDemain.aspx 
     if (url.indexOf('ViewParDateDemain.aspx') >= 0 || url.indexOf('ViewParRubriqueDemain.aspx') >= 0) { 
      jQuery("input[id*='ctl00_ctl00_ctl00']").val(tomorrow); 
      jQuery("input[id*='ctl00_ctl01_ctl00']").val(tomorrow); 
     } 
     //Set 7 days date if url contains ViewParDate7.aspx and ViewParRubrique7.aspx 
     if (url.indexOf('ViewParDate7.aspx') >= 0 || url.indexOf('ViewParRubrique7.aspx') >= 0) { 
      jQuery("input[id*='ctl00_ctl00_ctl00']").val(tomorrow); 
      jQuery("input[id*='ctl00_ctl01_ctl00']").val(nextWeek); 
     } 

回答

1

以下代碼查找URL中的任何散列。

if (!window.location.hash) { 
    // there is no hash, so execute stuff 
} 

如果你想尋找一個特定的散列,使用方法:

if (!window.location.hash == "specific-hash") { 
    // execute stuff 
} 
2

檢查window.location.hash,這將是#ServerFilter=FilterField1情況下或者在一個空字符串沒有哈希設置。

請注意,這隻有在標籤(#)後面有內容時纔有效。如果只有一個標籤,你將不得不解析window.location

1
function addDays(dateObj, numDays) { 

if(window.location.href.indexOf('#')) return; // this will stop the script 

      dateObj.setDate(dateObj.getDate() + numDays); 
      return dateObj; 
     } 

     function dateToShortString(date) { 
      var d = date.getDate(); 
      var days = (d < 10) ? '0' + d : d; 
      var m = date.getMonth() + 1; 
      var month = (m < 10) ? '0' + m : m; 
      var year = date.getFullYear(); 
      var shortDateString = days + "/" + month + "/" + year; 
      return shortDateString; 
     } 
.... 
....