gpt4 book ai didi

javascript - 用正斜杠替换反斜杠 Javascript

转载 作者:行者123 更新时间:2023-11-27 22:53:02 24 4
gpt4 key购买 nike

我使用向后斜杠从 API 获取一些图像,当我尝试在我的页面上显示这些图像时,它在 Chrome 上工作正常,但在 FireFox 和 IE 等其他浏览器上则不起作用,经过一番谷歌搜索后我才知道我必须传递带有正斜杠的 URL,所以我尝试替换它,但它不起作用..

以下是我尝试过的代码...

输入

var test ="http:\\www.xyz.com\xy\ab\1324\1324.jpg";
var final = test.replace(/\\/g,"/");

输出

http:/www.xyz.comxyab13241324.jpg

请让我知道我错在哪里,谢谢您

最佳答案

这是不可能的——使用提供的示例字符串或类似的东西。

\x 是这里的第一个问题。 JavaScript 认为这是一个十六进制转义序列,这就是 JavaScript 解释器抛出适当错误的原因:

Uncaught SyntaxError: Invalid hexadecimal escape sequence

即使我们采用另一个示例字符串:'http:\\www.xyz.com\yy\ab\1324\1324.jpg'它也会失败。
JavaScript 认为反斜杠是用来转义八进制转义序列 的 - 这就是为什么只需将此字符串输入 JS-Console 并按回车键即可返回:

"http:\www.xyz.comyyabZ4Z4.jpg"

更直观地它,请输入控制台:'http:\\www.xyz.com\yy\ab\1324\1324.jpg'.split('' );

您会看到,甚至 \132 也被转换为 Z

我现在尝试了很多事情,比如替换/转义、尝试 JSON.stringify、使用文本节点、在虚拟 XML 文档中使用 CDATA 等等 – 没有任何效果。 如果有人找到一种 JavaScript 方法来执行此操作,我很乐意了解!

<小时/>

结论

我不知道有什么方法可以在 JavaScript 中执行此操作。看来没有机会了。

据我所知,您唯一的解决方案是在服务器端转义它
在你的情况下,你将不得不编写一个小服务器脚本,它调用你使用的 API 并转换/转义所有内容,以便为你的 JS 做好准备。你的 JS 调用这个小服务器脚本。

关于javascript - 用正斜杠替换反斜杠 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37896292/

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