0

我使用 pagedown 作为文本编辑器,但我不希望用户能够在他们的内容中嵌入图像(链接可以)。

如何防止图像显示?最好我根本不希望 pagedown 为图像生成 html。

4

1 回答 1

3

要删除使用按钮添加图像的功能,您可以注释掉以下几个部分Markdown.Editor.js

要确保禁用键盘快捷键,请注释掉下面的“g”部分:

...
case "k":
    doClick(buttons.code);
    break;
/*
case "g":
    doClick(buttons.image);
    break;
*/
case "o":
    doClick(buttons.olist);
    break;
...

要消除图像按钮,请注释掉该部分:

...
buttons.code = makeButton("wmd-code-button", getString("code"), "-80px", bindCommand("doCode"));
/* 
buttons.image = makeButton("wmd-image-button", getString("image"), "-100px", bindCommand(function (chunk, postProcessing) {
return this.doLinkOrImage(chunk, postProcessing, true);
}));
*/
makeSpacer(2);
...

但是,精明的 Markdown 用户可能知道如何在不使用按钮的情况下输入图像。要抓住这一点,您可以在以下内容中执行以下操作Markdown.Converter.js

转到_DoImages函数,并替换此行:
text = text.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g, writeImageTag);

像这样的东西:
text = text.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g, "IMAGES NOT SUPPORTED");

再一次,这一行:
text = text.replace(/(!\[(.*?)\]\s?\([ \t]*()<?(\S+?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g, writeImageTag);

有了这个:
text = text.replace(/(!\[(.*?)\]\s?\([ \t]*()<?(\S+?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g, "IMAGES NOT SUPPORTED");

现在,只要转换器找到图像的降价,它就会将其替换为“不支持的图像”,包括在预览窗口中。这可能是也可能不是您想要的,但您也可以用空字符串、其他标签、...替换

于 2014-03-14T05:00:56.343 回答