考虑下面的JavaScript:的Javascript替换()函数中添加奇怪的字符
var previewImg = 'http://example.com/preview_img/hey.jpg';
var fullImg = previewImg.replace('preview','full');
我期望的fullImg
值是:
http://example.com/full_img/hey.jpg
事实上,这是...之类的。正在运行alert(fullImg);
显示预期的网址字符串。但是,当我提供该变量的jQuery Fancybox,像这样:
jQuery.fancybox.open(fullImg);
东西加字符转换成字符串,像这样:
http://example.com/%EF%BF%BCfull_img/hey.jpg
这哪里是%EF%BF%BC
是从哪里来的?它是什么?最重要的是,我该如何摆脱它?
其他一些线索:这是一个运行jQuery 1.5.1的Drupal 7站点。我在网站的其他地方使用了相同的Fancybox脚本,没有任何问题。
+1。 'IDE可以选择显示隐藏字符@sam:此外,您可以将编码设置为ANSI,以便更容易找到它们,然后在删除不需要的字符后将编码恢复为无BOM的UTF-8。 – JFK 2013-03-19 22:14:40
天才!有趣的是,我的IDE(Coda 2)有一个“Show Invisible Characters”选项(我经常用于这种情况),但是当我打开它时什么也没有显示。只有当我将编码设置为“Western(ASCII)”时,才会出现奇怪的字符!删除!现在它运行良好。唯一的问题是他们从哪里来?我很确定我手中输入了整个剧本...... – Sam 2013-03-20 00:10:40