如何使Javascript字符串适用于多种文件格式?

时间:2019-05-05 23:33:11

标签: javascript html

我正在尝试将gif表情添加到我的网站已建立的聊天中。目前,该表情仅适用于.png文件格式。

我曾尝试用 .png'> 替换 .png | .gif'> 部分,但是没有用。

emote: function(str) {
            var emo = ["biblethump", "kappa", "kreygasm", "pjsalt", "pogchamp", "fire", "rip", "failfish", "thumplove", "theilluminati", "cmonbruh", "lul", "ez", "bobtheshoplifter", "ree", "lambo", "fastercolorful", "kms", "glowbear", "pepelaserree", "feelsabdulman", "blobbanhammer", "success", "loveu"];
            for (var i = 0; i < emo.length; i++) {
                str = str.replace(new RegExp(emo[i] + "( |$)", "g"), "<img src='img/emotes/" + emo[i] + ".png'> ");
            }
            return str;
        },

1 个答案:

答案 0 :(得分:0)

HTML不允许您指定(png | gif)。这样做的原因是因为HTML img标签只是在请求您提供的URL。一些解决方案:

您的javascript中有一个查找表,因此您知道给定表情使用什么扩展名:

const emoteExt = {
    biblethump: '.png',
    kappa: '.gif',
    kreygasm: '.png'
}

您现有的代码只需要做一点改动:

"<img src='img/emotes/" + emo[i] + emoteExt[emo[i]] + "'> "

如果您不想在客户端提供查找表,也可以在此服务器端进行处理。发送该映像的服务器可以忽略扩展名,并发送所有可用的消息。

添加新的表情或表情扩展名时,服务器端解决方案不需要更改代码,但是需要一些专门知识(并且您没有使用静态服务器)。