1

所以我正在用一些 html/css/javascript 实验来涂鸦一个小网站,这样我就可以学习成为一个更好的网络程序员。我真的是一个设计师,在这方面完全是 n00b。

问题:

我在我的站点的多个页面上运行了一些 javaScript,它们像往常一样位于一个单独的 .js 文件中。然而,它似乎只在这个页面上工作:

http://www.carlpapworth.com/htmlove/colors.html

而不是这些:

http://www.carlpapworth.com/htmlove/arrows.html

http://www.carlpapworth.com/htmlove/fumbling.html

你看,心脏的大飞溅应该被这个函数隐藏:

$(document).ready(function() {  
    $('#reward').hide();
    $('#goal a').click(function(){
        $('#reward').fadeIn(1000);
    });
    $('.exit').click(function(){
        $('#collection1').css('color', '#ff63ff');
     });
});

对我来说,所有这些页面中的“头部”代码看起来完全一样,所以我无法找出问题所在。请帮忙!

解决了!这是编码,设置为 UTF-16!所以我只是按照 Jezen Thomas 在 Coda 中所说的那样更改了它!太感谢了!

4

2 回答 2

1

正如 Jezen Thomas 所建议的,这可能是一个编码问题。尝试将文件重新保存为 UTF-8。

查看有关 SO 的此主题以获取更多详细信息

于 2012-09-27T07:52:13.960 回答
1

这是一个有趣的问题。我尝试将您的网站复制到我的机器上并在本地进行测试,一切正常。但是,我相信我已经发现了问题的根源。

http://validator.w3.org/i18n-checker/check?uri=www.carlpapworth.com%2Fhtmlove%2Ffumbling.html#validate-by-uri+

您正在尝试使用元标记强制 UTF-8,<meta charset='UTF-8' />. 但是,w3 i18n 验证器检测到您的文件还包含UTF-16LE 字节顺序标记 (BOM)

w3 在删除 BOM时有这样的说法:

如果您有一个显示构成 UTF-8 签名的字符的编辑器,您可以手动删除它们。然而,有可能因为您没有看到它,所以 BOM 首先就在那里。

检查您的编辑器是否允许您指定在保存期间是否添加或保留 UTF-8 签名。这样的编辑器提供了一种删除签名的方法,只需将文件读入然后再次保存即可。例如,如果 Dreamweaver 检测到 BOM,则另存为对话框将在文本“包括 Unicode 签名 (BOM)”旁边有一个复选标记。只需取消选中该框并保存即可。

我不确定它是否能解决您的问题,但我不喜欢您在 doctype 声明之前使用 HTML 注释的事实。请移至<!DOCTYPE html>文件顶部。此外,在 Coda 中,转到Text > Encoding并验证是否选择了 UTF-8。如果可以的话,显示不可见的字符并删除任何看起来可疑的东西。

于 2012-09-27T07:55:29.357 回答