gpt4 book ai didi

Javascript Replace() 函数添加奇怪的字符

转载 作者:行者123 更新时间:2023-11-28 20:35:25 25 4
gpt4 key购买 nike

考虑以下 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); 显示预期的 url 字符串。但是当我将该变量传递给 jQuery Fancybox 时,像这样:

jQuery.fancybox.open(fullImg);

某些东西将字符添加到字符串中,如下所示:

http://example.com/%EF%BF%BCfull_img/hey.jpg

这个%EF%BF%BC来自哪里?它是什么?最重要的是,我该如何摆脱它?

其他一些线索:这是一个 Drupal 7 站点,运行 jQuery 1.5.1。我在网站其他地方使用相同的 Fancybox 脚本,没有出现任何问题。

最佳答案

%EF%BF%BC 是三个 URL 编码字符的序列。

您显然看不到字符串中任何意外的字符。这是因为字符序列 %EF%BF%BC 是不可见的。

它实际上是一个UTF-8字节顺序标记序列。该序列通常位于 UTF-8 编码文本文件的开头。当您从另一个文件进行复制+粘贴时,它们可能会进入您的代码。

摆脱它们的最快方法是找到复制+粘贴的代码段,删除问题两侧的字符,然后重新输入它们。根据您的编辑器,您可能会发现删除行为很奇怪,因为它删除了隐藏字符。

某些文本编辑器和 IDE 将提供显示隐藏字符的选项。如果您的编辑器有此功能,它可能会帮助您查看神秘字符的位置,以便您可以删除它们。

希望有帮助。

关于Javascript Replace() 函数添加奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15510111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com