如何在 Ace 文本编辑器中打开文件?

哈里森·里夫斯

如何使用 Ace 文本编辑器打开带有 HTML、CSS 和 js 等扩展名的本地文件?我想有一种方法可以设置一个按钮来打开您的文件选择器,您可以打开一个按钮,然后它会打开文件供您编辑。这是我现在用于 Ace 的代码。

 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")
<!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>

    </body>
</html>

用户

您可以按如下方式使用文件输入元素:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>ACE HTML Editor</title>
        <style type="text/css" media="screen">
            #editor {
                position: absolute;
                top: 3em;
                right: 0;
                bottom: 0;
                left: 0;
            }
        </style>
        <meta charset="UTF-8">
        
    </head>
    <body>
        <div id="editnav">
            <input type="button" id="downloadbtn" onclick="downloadHTML()" value="Download">
            <input type="file" id="openbtn" onchange="openCode(this.files)" value="Open">
            <input type="button" id="homebtn2" onclick="window.location.href = 'index.html';" value="Home">
        </div>
        <div id="editor"></div> 
        <script src="http://ajaxorg.github.io/ace-builds/src/ace.js" type="text/javascript" charset="utf-8"></script>
        <script src="http://ajaxorg.github.io/ace-builds/src/ext-modelist.js" type="text/javascript" charset="utf-8"></script>
        <script>
            var editor = ace.edit("editor", {
                theme: "ace/theme/monokai",
                mode: "ace/mode/html",
                placeholder: "choose file to edit"
            }); 
            function openCode(files) {
                var file = files[0]
                if (!file) return;
                var modelist = ace.require("ace/ext/modelist")
                var modeName = modelist.getModeForPath(file.name).mode 
                editor.session.setMode(modeName)
                reader = new FileReader();
                reader.onload = function() {
                    editor.session.setValue(reader.result)
                }  
                reader.readAsText(file) 
            }
        </script>
    </body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使textarea成为ACE编辑器?

我如何从ACE编辑器中获得价值?

如何在Atom文本编辑器中按文件类型设置默认语法?

如何在Ace编辑器中显示文件内容

如何从ACE-Angular编辑器中获取值

如何在ACE编辑器中设置缩进大小

如何在我的网站中嵌入ace编辑器

如何在不实例化Ace编辑器实例的情况下使用Ace编辑器验证器?

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

Mac:如何在文本编辑器中打开CLI命令的输出

如何在ace编辑器中评估代码

Ace编辑器如何向后查找?

如果嵌入需要适当的括号嵌套,如何在Ace编辑器中嵌入突出显示?

如何在ace编辑器中保存或编辑javascript文件

当我单击另一个文件时,如何在ace编辑器中更改内容?

如何以编程方式在eclipse 4.4中打开文本编辑器?

如何使用CDN中的requirejs加载ace编辑器?

如何使用Atom文本编辑器打开文件夹?(Xubuntu)

使用nano命令时,如何在文本编辑器而不是终端中编辑文件?

如何在ace编辑器中为选择/取消选择设置动画?

如何在Rails的ACE编辑器中测试代码的输出

如何在文本编辑器/ Visual Studio Code中直接从FTP打开文件

如何在Nano文本编辑器中解密文件?

如何在 Ubuntu 18.04LTS 中打开 Sublime 文本编辑器?

如何以 root 身份在 GUI 文本编辑器中编辑文件?

如何在 onAction 事件方法的默认文本编辑器中打开文件(无头图形环境)

如何在文本编辑器中跳转单词

如何选择文本编辑器打开文件?

如何在 Qt 中使用 QProcess 在 Linux 文本编辑器中打开文本文件