首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Ace文本编辑器下载内容?

如何从Ace文本编辑器下载内容?
EN

Stack Overflow用户
提问于 2019-11-22 02:00:14
回答 1查看 591关注 0票数 1

我有所有的文件压缩了 https://drive.google.com/file/d/16-0HFtFA2_JKEHVWFtHrE_DWKntVMxIq/view?usp=sharing 如果你想自己查看它们的话--

所以..。对于我来说,Ace文本编辑器的设置非常复杂。我以为我把一切都搞砸了,但没有。到目前为止,我已经整合了下载按钮。我花了一段时间,但后来我走了隐藏元素的路,做了这件事。

代码语言:javascript
复制
function downloadHTML() {
    var HTMLtextToSave = editor.getValue();
    var HTMLhiddenElement = document.createElement("a");

    HTMLhiddenElement.href = 'data:attachment/text,' + encodeURI(HTMLtextToSave);
    HTMLhiddenElement.target = '_blank';
    HTMLhiddenElement.download = 'untitled.html';
    HTMLhiddenElement.click();
}

在我尝试CSS之前,一切都很好。由于一些愚蠢的原因,getValue()决定每次看到主题标签(#)时都会发作一次。它下载所有的代码直到它看到它,然后它停止。我真的需要解决这个问题。我现在称我的项目为GridOff (测试版)。您可以下载我现在压缩的这里。这是HTML编辑器的HTML代码。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>ACE HTML Editor</title>
        <!-- Put editor language e.g.: Ace HTML Editor -->
        <style type="text/css" media="screen">
            #editor {
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
            }
        </style>
        <meta charset="UTF-8">
        <!-- Defines character set -->
        <link type="text/css" rel="stylesheet" href="../CSS/stylesheet.css">
        <!-- CSS Stylesheet -->
        <link type="image/x-icon" rel="shorcut icon" href="../Other/html5favicon.ico">
        <!-- Favicon -->
        <script type="text/javascript" src="../JavaScript/index.js"></script>
        <!-- JavaScript Index -->
    </head>
    <body>
        <div id="editnav">
            <input type="button" id="downloadbtn" onclick="downloadHTML()" value="Download">
            <input type="button" id="openbtn" onclick="openCode()" value="Open">
            <input type="button" id="homebtn2" onclick="window.location.href = 'index.html';" value="Home">
        </div>
        <input type="button" id="togglebtn2" onclick="toggleVisibility2()" value="Toggle">
        <div id="editor">&lt;!DOCTYPE html>
&lt;html>
    &lt;head lang="">
        &lt;meta charset="">
        &lt;link type="text/css" rel="stylesheet" href="">
        &lt;!-- CSS Stylesheet -->
        &lt;link type="image/x-icon" rel="shortcut icon" href="">
        &lt;!-- Favicon -->
        &lt;title>&lt;/title>
    &lt;/head>
    &lt;body>
        &lt;p>Ace HTML Editor&lt;/p>
    &lt;/body>
&lt;/html></div>
        <!-- In this div, put filler text -->
        <!-- use &lt; for < -->
        <script src="../Other/Ace/ace-builds-master/src/ace.js" type="text/javascript" charset="utf-8"></script>
        <script>
            var editor = ace.edit("editor");
            editor.setTheme("ace/theme/monokai");
            editor.session.setMode("ace/mode/html");
            // editor.setTheme("ace/theme/themeHere")
            // editor.session.setmode("ace/mode/languageHere")
        </script>
    </body>
</html>

此外,我无法找到一种方法,它只浏览html文件,打开他们的编辑器,并编辑他们。如果有人有解决这些问题的办法,请随时发表评论。我现在在找任何东西。谢谢StackOverflow!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-22 06:35:51

您需要使用encodeURIComponent而不是encodeURI来编码特殊字符,如#或&

或使用

代码语言:javascript
复制
href = URL.createObjectURL(new Blob(value)], { type: "text/plain" }));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58986381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档