【发布时间】:2016-07-15 20:57:19
【问题描述】:
我正在使用以下代码将带有内容的新脚本插入到 HTML 文件中, 目前以下代码正在运行,并且在第一个现有脚本之后插入了新脚本,问题是内容没有缩进
例如这是新添加的脚本的输出(你可以在一行中看到它)
<script> var keyOfFilesArray = Object.keys(data)[0]; var filesArray = data[keyOfFilesArray]; </script>
我想把它改成如下缩进:
- 第二个添加的打开脚本标记将插入在第一个脚本的关闭标记之后
- vars 应该一个接一个地插入才能像这样
<script> var keyOfFilesArray = Object.keys(data)[0]; var filesArray = data[keyOfFilesArray]; </script>
我该怎么做?我相信我需要添加 /n 但不确定在哪里插入它的最佳方式...
https://jsfiddle.net/k32ntkr8/
这是JS代码
btn.onclick = function(e){
debugger;
var innerhtml = [
' var keyOfFilesArray = Object.keys(data)[0];',
' var filesArray = data[keyOfFilesArray]; '
].join('');
var html = process(input.defaultValue,innerhtml);
output.value = html;
}
function process(html,innerhtml) {
var escapedHTML = html
.replace(/body/g, 'body$')
.replace(/head/g, 'head$');
sandbox.innerHTML = escapedHTML;
var script = sandbox.querySelectorAll('#app-ux-bootstrap')[0];
var newScript = document.createElement('script');
newScript.innerText = innerhtml;
script.parentNode.insertBefore(newScript, script.nextSibling);
var unescapedHTML = sandbox.innerHTML
.replace(/body\$/g, 'body')
.replace(/head\$/g, 'head')
.replace(/"/g, "'");
return (
'<!DOCTYPE HTML>\n<html>' +
unescapedHTML +
'</html>'
);
};
如何做到这一点?请建议,下面的答案没有多大帮助...... 如果我能以某种方式改善这个问题,请告诉我。
【问题讨论】:
-
抱歉,您为什么要这样做?大多数时候,当人们完成他们的代码时,他们会最小化它以拥有更小的文件,而不是相反......我只是好奇......
-
@BozidarSikanjic - 在构建过程中正确缩小文件,但我需要在某些编辑器中显示此文件...
标签: javascript jquery html dom