jQuery / javascript无法在所有页面上运行

时间:2012-09-27 07:24:12

标签: javascript

所以我在一个带有一些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中所说的那样!万分感谢!

2 个答案:

答案 0 :(得分:1)

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

查看this topic on SO for more details

答案 1 :(得分:1)

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

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

您尝试使用元标记<meta charset='UTF-8' />强制使用UTF-8。但是,w3 i18n验证器检测到您的文件还包含UTF-16LE Byte-Order Mark (BOM)

w3可以在removing the BOM上说明:

  

如果你有一个编辑器,显示组成的字符   UTF-8签名您可以手动删除它们。机会是,   然而,BOM首先存在,因为你没有   看到它。

     

检查编辑器是否允许您指定是否使用UTF-8   保存期间添加或保留签名。这样的编辑提供了一个   通过简单地读取文件来删除签名的方法   再把它救出来。例如,如果Dreamweaver检测到BOM   “另存为”对话框将在文本旁边显示复选标记   “包括Unicode签名(BOM)”。只需取消选中该框即可保存。

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