我想制作一个网站,为Windows 10命令提示符生成支持'ESCAPE'(\ u001B)字符样式字符串的代码。
您可以在HERE上查看示例。
注意:由于此站点无法正确显示``(\ u001B),因此我将使用←
。
问题是,当我尝试编写如下代码来为命令提示符编写代码时:
function cdGenerate() {
var input = document.getElementById('ipText').value;
console.log(`input: ${input}`);
input = checkStyle(input);
console.log(`checkStyle input : ${input}`);
input = checkForeground(input);
console.log(`checkForeground input : ${input}`);
input = checkBackground(input);
console.log(`checkBackground input : ${input}`);
str = input;
console.log(`str: ${str}`);
document.getElementById('spResult').innerHTML = `<code>${str}</code>`;
copy(str);
}
function checkStyle(ori) {
var rtb = '←[';
if (document.getElementById('g-style-reset').checked) { rtb += '0;' }
if (document.getElementById('g-style-bold').checked) { rtb += '1;' }
if (document.getElementById('g-style-underline').checked) { rtb += '4;' }
if (document.getElementById('g-style-inverse').checked) { rtb += '7;' }
rtb = rtb.slice(0,-1);
rtb += 'm';
var rtn = rtb.concat(ori);
return rtn;
}
结果不是我想要的。
我在TEST
HTML输入元素中输入了ipText
并执行了cdGenerate()
,我应该得到的是←[7mTEST
就像ipResult
HTML input元素中的东西。但是我只能得到TEST
,而不能得到←[7mTEST
。
我已经用←
而不是\u001B
测试了这些代码,并且没有任何改变。
此外,我需要将这些←[7mTEST
复制到用户的剪贴板中。
如何使我的JavaScript代码正确(按原样)处理←
(\ u001B)?