2016-04-05 2 views
1

私はこのjqueryを実行し、現時点では自分のサイトのすべてのページをリロードします。問題は、スクリプトが特定のページをリロードしないようにすることです。URLに文字列が含まれている場合はjQuery関数を実行しないでください。

例:urlsに "string-1"や "string-2"が含まれている場合、ページをリロードしないでください。 (ここで、文字列はフォルダ/ブログ/などです)。それは可能ですか?

$(function(){ 
    $('body').fadeIn(1000); 
    if (localStorage.reloaded !== 'true') { 
     setTimeout(function(){ 
      $('body').fadeOut(2000, function(){ 
       localStorage.reloaded = 'true'; 
       location.reload(true); 
      }); 
     }, 5000); // 5 seconds for demo 
    } 
}); 

答えて

0

はこれを試すのおかげ......

$(function(){ 

if(window.location.href.indexOf("string-1")!=-1) 
    { 
$('body').fadeIn(1000); 
    if (localStorage.reloaded !== 'true') { 
     setTimeout(function(){ 
      $('body').fadeOut(2000, function(){ 
       localStorage.reloaded = 'true'; 
       location.reload(true); 
      }); 
     }, 5000); // 5 seconds for demo 
    } 

} 
}); 
1

あなたはindexOf()を使用して別の内の1つの文字列が存在するかどうかを確認することができます。これを試してみてください:

var loc = window.location.href; 
if (localStorage.reloaded !== 'true' && (loc.indexOf('string-1') != -1 || loc.indexOf('string-2') != -1)) { 
    setTimeout(function(){ 
     $('body').fadeOut(2000, function(){ 
      localStorage.reloaded = 'true'; 
      location.reload(true); 
     }); 
    }, 5000); // 5 seconds for demo 
} 
0
$(document).ready(function() { 
    if (window.location.href.indexOf("string-1") > -1 || window.location.href.indexOf("string-2") > -1) { 
    $('body').fadeIn(1000); 
    if (localStorage.reloaded !== 'true') { 
     setTimeout(function() { 
     $('body').fadeOut(2000, function() { 
      localStorage.reloaded = 'true'; 
      location.reload(true); 
     }); 
     }, 5000); // 5 seconds for demo 
    } 
    } 
}); 

これは

+0

おかげで動作するはずです!ページを追加したい場合、 "string-1"を "examlple.com/page"に置き換えるだけでいいですか? – merxie

+0

私は "example.com"の後にのみページ名を使用します... "/"の後に来るものは何も問題なく動作します:) –

+0

大変感謝しています。しかし、それはFirefoxで動作しませんが、Chromeではすべて正常です – merxie

関連する問題