2011-06-20 12 views
-1

私は現在のjQueryプラグイン(アドレス)を使用していると私はこのコードを持っている(私はアドレスプラグインの "SEO" の方法を使用しています)無限ループ - jQueryプラグイン(アドレス)

$(document).ready(function() { 
    $.address.crawlable(1).state('/').init(function() { 
     $('body').delegate('.ajax', 'click', function() { 
      $('.ajax').address(); 
     }); 
     $('.ajax').address(); 
    }).change(function(e) { 
     var loc = document.location.href; 
     if (loc != 'http://secret.riseofkings.net' + e.value) { 
      var myStr = e.value; 
      myStr = myStr.substr(1); 
      if (myStr) { 

       $("#content").html('<img src="/images/ajax.gif" />'); 
       $("#iframe_space").html('<iframe src="http://riseofkings.net/nothing.php" style="display:none"></iframe>'); 
       var url = $(e).val().toLowerCase().substr(1).replace(/ /g, '%20'); 
       $("#content").load(url + '&ajax=1', function() { 
        $("#iframe_space").html(''); 
       }, function(errr) { 
        alert('Something went wrong. Sorry for problems'); 
       }); 
      } 
     } 
    }); 
}); 

UPDATE:

私は

if (loc != 'http://secret.riseofkings.net' + e.value) { 

alert(loc+' vs http://<?php echo $security->host()."'"; ?>+e.value);

を追加しよう

私は(/game.php?what=map)をリンクするために行くとき、それはhttp://secret.riseofkings.net/game.php EndUpdateの

http://secret.riseofkings.net/game.php?what=map対に警告を発してくれhttp://secret.riseofkings.net/http://secret.riseofkings.net/game.phpを与えます。

アップデート2:

このMozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2

EndUpdateの、例えば、何が起こっています。

しかし、一部のFirefoxバージョン(3.XX)とIEでは無限ループがあります。私はメインページにアクセスして、アドレスバーのアドレスの最後にリロードして#/game.php?r=somethingを追加し始めます。

あなたは何が間違っているのか分かりませんか?

答えて

1

さて、この行:

clearTimeout = window.clearTimeout(timer); 

が間違ってと怖いです。ただ次のようになります。

clearTimeout(timer); 
+0

質問 – genesis

+0

私はもう一度見てみましょう... – Pointy

0

私は私のasp.net MVCサイトでjQueryの住所と同様の問題がありました。もし私がハッシュURLを持つページに戻ってクリックすると、それは外に出て、無限にページをループします。 mvcに標準で付属しているMicrosoftAjax.jsおよびMicrosoftAjax.debug.jsファイルの古いバージョンにリンクされていることが判明しました。

あなたはMicrosoftAjax.debug.jsファイルを開くと、あなたは、ファイルバージョン見れば:(MVCテンプレートを使用して、デフォルトのバージョンです)4.0.20526.0その後、CDN(http://www.asp.net/ajaxlibrary/CDNAjax4.ashx

からデバッグおよび圧縮されたバージョンをアップグレードこのソリューションはスタックオーバーフローに関する別の質問で見つかったので、私の解決策ではないことに注意してください。元の質問を見つけようとしていて、解決策を出した人

EDIT:新しいコード(削除のsetTimeoutとcompletellyてclearTimeout)で更新Firefox 6 Infinite Page Refresh With Page With Hash Tags