无法使highlight.js与我的Javascript函数一起工作
鉴于下面的脚本,我想使用和我的javascript突出显示html语法,但它不起作用无法使highlight.js与我的Javascript函数一起工作,javascript,html,Javascript,Html,鉴于下面的脚本,我想使用和我的javascript突出显示html语法,但它不起作用 var entityMap={ “&”:“&;”, "": "", '"': """, "'": "'", “/”:“/;”, “`”:“`;”, “=”:“=;”, }; 函数escapeHtml(字符串){ 返回字符串。替换(/[&“`=\/]/g,函数{ 返回entityMap[s]; }); } $(文档).ready(函数(){ $(“代码”)。每个功能(e){
var entityMap={
“&”:“&;”,
"": "",
'"': """,
"'": "'",
“/”:“/;”,
“`”:“`;”,
“=”:“=;”,
};
函数escapeHtml(字符串){
返回字符串。替换(/[&“`=\/]/g,函数{
返回entityMap[s];
});
}
$(文档).ready(函数(){
$(“代码”)。每个功能(e){
代码=$(this.html();
原始=逸出EHTML(代码);
$(this).html(原始);
$(本)
.parent();
});
})
hljs.initHighlightingOnLoad();
文件
标题
正文{宽度:500px;}
函数$init(){return true;}
标题
这不是最好的解决方案,我建议您在页面上的
源代码中找到转义符号的方法。这在服务器端(php、nodejs等)是可能的
文件
标题
正文{宽度:500px;}
函数$init(){return true;}
标题
常量实体映射={
“&”:“&;”,
"": "",
'"': """,
"'": "'",
“/”:“/;”,
“`”:“`;”,
“=”:“=;”,
};
函数escapeHtml(字符串){
返回字符串。替换(/[&“`=\/]/g,函数{
返回entityMap[s];
});
}
document.addEventListener('DOMContentLoaded',(事件)=>{
document.querySelectorAll('pre-code').forEach((块)=>{
block.innerHTML=escapeHtml(block.innerHTML);
高亮度块(块);
});
});
escapeHtml
的参数是什么?控制台中的错误是什么?@VadimHulevich,escapeHtml
的参数是已经转义字符的html实体,例如“,/”。console中没有错误,相反,highlight.js不适用于我的函数escapeHtml()
。谢谢,也许对你有帮助