无限循环-Jquery插件(地址)



我使用当前的jQuery插件(地址),我有这个代码(我使用地址插件的"SEO"方法)

$(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');
                });
            }
        }
    });
});

更新:

当我尝试添加时

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

之后

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

它给了我http://secret.riseofkings.net/game.phpvshttp://secret.riseofkings.net/当我转到链接(/game.php?what=map)时,它会发出警报http://secret.riseofkings.net/game.phpvshttp://secret.riseofkings.net/game.php?what=map

ENDUPDATE

更新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附加到地址栏的地址末尾。

你不知道那里出了什么问题吗?

这一行:

clearTimeout = window.clearTimeout(timer);

是错误的和可怕的;应该只是:

clearTimeout(timer);

我在asp.net MVC站点中的JQuery Address也遇到了类似的问题。如果我点击回一个带有hashurl的页面,它会抓狂,并无休止地循环该页面。事实证明,这个问题与mvc标准的旧版本MicrosoftAjax.js和MicrosoftAjax.debug.js文件有关。

如果打开MicrosoftAjax.debug.js文件,看到FileVersion:4.0.20526.0(这是mvc模板的默认版本),则从cdn升级调试和压缩版本(http://www.asp.net/ajaxlibrary/CDNAjax4.ashx)

请注意,这个解决方案是在另一个关于堆栈溢出的问题中找到的,所以它不是我的解决方案。我试图找到最初的问题以及谁给出了答案。

编辑:Firefox 6无限页面刷新与页面哈希标签

最新更新