0

我不得不将我所有的 .html 文件重命名为 .php 以便我可以使用 php gzip 压缩。无论如何,开关破坏了我的一个脚本。它是一个加载内容并为其设置动画的脚本。它从各个页面抓取内容并将其加载到容器中。脚本的那部分工作正常。

使用 .html 扩展名时,脚本会愉快地将正在查看的页面附加到 URL,如:www.site.com/#ABOUT

但是现在我已将所有内容从 .html 重命名为 .php,总是缺少一个字母,例如:www.site.com/#ABOU <--- 缺少一个“T”

或者,www.site.com/#CONTAC <--- 缺少一个“T”

www.site.com/#NEWSLETTE <--- 缺少一个“R”

这是执行此附加功能的脚本部分:

var hash = window.location.hash.substr(1);
var href = $('#nav li a').each(function(){
    var href = $(this).attr('href');
    if(hash==href.substr(0,href.length-5)){
        var toLoad = hash+'.php #content';  <--- .php (was: .html)
        $('#content').load(toLoad)
    }                                           
});

这是怎么回事?

4

3 回答 3

3
href.substr(0,href.length-5)

由于您从 .html 切换到 .php,因此您想要

href.substr(0,href.length-4)

.php 比 .html 短 1 个字符

于 2012-09-13T19:00:02.010 回答
1

我不会说这是正确的方法,但改变它应该有效:

if(hash==href.substr(0,href.length-4)){
    var toLoad = hash+'.php #content';  <--- .php (was: .html)
    $('#content').load(toLoad)
}      
于 2012-09-13T19:00:09.810 回答
0

如果href.substr(0,href.length-5)打算删除.html,您可能需要将其更改为href.substr(0,href.length-4)删除.php

于 2012-09-13T19:02:05.417 回答