javascript - 编写“实时编码器”
问题描述
我有一个问题,我正在像 CodePen、Trinket 这样的网站上工作,您可以在其中编写代码并在之后保存它我基本上完成了,但我不知道如何编写一个保存“文件”的系统,这里有一些代码:
function showPreview() {
var htmlcode = document.getElementById("htmlcode").value;
var csscode = "<style>"+document.getElementById("csscode").value+"</style>";
var jscode = "<scri"+"pt>"+document.getElementById("jscode").value+"</scri"+"pt>";
var frame = document.getElementById("preview_window").contentWindow.document;
frame.open();
frame.write(htmlcode+csscode+jscode);
frame.close();
}
<div class="code_area">
<textarea id="htmlcode" placeholder="HTML CODE" oninput="showPreview()"></textarea>
<textarea id="csscode" placeholder="CSS CODE" oninput="showPreview()"></textarea>
<textarea id="jscode" placeholder="JAVASCRIPT CODE" oninput="showPreview()"></textarea>
</div>
<div class="preview_area">
<iframe id="preview_window"></iframe>
</div>
-玫瑰
解决方案
如果你想在客户端生成一个文件,你可以这样做
function download(filename, text) {
var element = document.createElement('a');
element.setAttribute('href', 'data:text/html;charset=utf-8,' + encodeURIComponent(text));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
// download the file
download("hello.html","This is the content of the file");
推荐阅读
- c# - 与接口相关的访问修饰符
- django - 仅在 django 中创建基于更新类的视图时,为我的文件上传使用表单集不起作用
- base64 - 编码和解码 64 是如何确定最后几个零只是填充的?
- java - Spring boot REST API 处理授权码 GRANT_TYPE
- reactjs - 如何使用 Axios 下载多个文件?
- apache-spark - 使用 spark 处理 20 GB CSV 文件
- graphql - 抑制 GraphQL:使用模板字符串时 VS Code 中的语法错误
- python - Selenium 使用 find_element 在循环中查找元素而不增加迭代时间
- pandas - 如何将工作熊猫代码转换为 dask 代码?
- r - 为向量中的每个项目计算跨越向量中值的行数