分享一款可編輯本地電腦文件的在線編輯器

背景

之前見過在線版的VSCode,被驚訝到了。網頁上竟然可以編輯電腦本地的文件,打破了網頁無法編輯本地電腦文件的限制。一直好奇怎么做的。抽空研究了一下,然后發現其實也不難。

分析

先給大家介紹一下這款在線編輯器的效果。

左側欄為文件瀏覽器,顯示了文件列表。右側為編輯器。此編輯器為富文本編輯器。點擊左側的文件列表,編輯器就展示了文件的內容。文件就是電腦上的文件。

總體來講,軟件清爽干凈。可以直接打開文件,也可以打開文件夾。會自動獲取非文本文件。保存時如果想保存純文本文件,則使用【保存純文本】即可。如果保留富文本格式,使用【保存】即可。如果是打開的文件,則會自動識別文件格式并自動保存,點【保存】即可。

保存時可以彈出選擇保存位置。

這樣也就實現了打開本地電腦文件以及文件夾,再保存文件到電腦的閉環。

使用地址:在線編輯器

這個在線編輯器發布在?https://dh.yu7s.com?網站中,集成的一款工具。里面還有好多好用的工具,簡潔而強大。

那這個在線編輯器是怎么實現的呢?不是JS無法操作本地電腦的文件嗎?

這個需要借助JS的File API的幫助。這個API和Windows軟件編程類似,可以在打開文件選擇對話框后,在用戶同意后,可以拿到文件的句柄。然后就可以根據文件句柄讀取文件的內容了。而文件列表,也就是使用打開文件夾對話框后,拿到文件夾的句柄,進而遍歷得到文件列表。得到文件列表后,自然也就有了里面文件的句柄,就可以通過句柄來打開文件。

而保存文件,就是模擬點擊下載按鈕實現的。在底部有一行提示,如果要支持每次保存都彈出保存提示框,則需要在瀏覽器的設置里,把對應的開關打開即可。

總結

看似無法實現的編輯本地文件的在線編輯器,其實并不復雜。最新的JS是支持操作這些的,只是大家不熟悉前端的人,一直還停留在很早以前的js的知識里。


原文地址:?分享一款可編輯本地電腦文件的在線編輯器

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/39934.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/39934.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/39934.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

徹底解決網絡哈希沖突,百度百舸的高性能網絡 HPN 落地實踐

GPU 的通信性能對于大模型的訓練有著至關重要的影響。在 HPN 網絡工程實踐中,我們的核心關注點是如何充分利用網絡硬件資源的能力,將通信性能最大化,從而提升大模型端到端的訓練性能。 1 HPN 網絡 — AIPod 下圖是百度百舸的高性能網絡 …

Vue如何使用封裝接口

在Vue項目中封裝接口(API)是一個常見的需求,特別是在與后端服務進行交互時。封裝接口的目的是為了將請求邏輯與組件邏輯分離,提高代碼的可維護性和復用性。以下是一個簡單的步驟和示例,說明如何在Vue項目中封裝接口。 …

洛谷 P1020 [NOIP1999 提高組] 導彈攔截

題目描述 某國為了防御敵國的導彈襲擊,發展出一種導彈攔截系統。但是這種導彈攔截系統有一個缺陷:雖然它的第一發炮彈能夠到達任意的高度,但是以后每一發炮彈都不能高于前一發的高度。某天,雷達捕捉到敵國的導彈來襲。由于該系統…

下拉菜單顯示年份選項(月份也適用)

項目場景&#xff1a; 下拉菜單顯示年份選項&#xff08;月份也適用&#xff09; 前段語言Vue 問題描述 在列表的搜索欄常常需要提供年份、月份選擇&#xff0c;此文記錄一種簡單的年份下拉菜單的展示方式&#xff1a; <el-form-item label"年份" prop"yea…

戰略資訊 | TapData 牽手思想科技,開啟數據管理新篇章!

在這個數字化飛速發展的時代&#xff0c;數據已成為企業最寶貴的資產之一。為了更好地迎接新時代的訴求與挑戰&#xff0c;TapData 現已與思想科技達成了一項具有里程碑意義的戰略合作協議。這不僅是兩個企業之間的合作&#xff0c;更是對整個數據管理行業的一次重大推動。 思…

興業嚴選|北京市戶籍 多子女家庭買二套房個貸算首套

6月26日&#xff0c;北京市住房和城鄉建設委員會、中國人民銀行北京市分行、國家金融監督管理總局北京監管局、北京住房公積金管理中心聯合印發《關于優化本市房地產市場平穩健康發展政策措施的通知》。 明確支持多子女家庭改善性住房需求&#xff0c;對北京市戶籍二孩及以上的…

ode45的例程|MATLAB例程|四階龍格庫塔定步長節微分方程

ode45自己編的程序和測試代碼 模型 模擬一個衛星繞大行星飛行的軌跡計算。 結果 軌跡圖如下: 源代碼 以下代碼復制到MATLAB上即可運行,并得到上面的圖像: % ode45自己編的程序和測試代碼 % Evand©2024 % 2024-7-2/Ver1 clear;clc;close all; rng(0); % 參數設定…

C++Primer Plus 第十四章代碼重用:編程練習,第5題

CPrimer Plus 第十四章代碼重用&#xff1a;編程練習,第5題 CPrimer Plus 第十四章代碼重用&#xff1a;編程練習,第5題 文章目錄 CPrimer Plus 第十四章代碼重用&#xff1a;編程練習,第5題前言5. 一、方法二、解答 前言 5. 下面是一些類聲明: //emp.h--header file for ab…

OpenSSL EVP詳解

OpenSSL EVP詳解 Chapter1 OpenSSL EVP詳解一、EVP基本介紹1. EVP 加密和解密2. EVP 簽名和驗證3. EVP 加解密文件 二、源碼結構2.1 全局函數2.2 BIO擴充2.3 摘要算法EVP封裝2.4 對稱算法EVP封裝2.5 非對稱算法EVP封裝2.6 基于口令的加密 三、開發實例3.1 示例13.2 示例23.3 示…

【MySQL】數據庫——備份與恢復,日志管理

一、數據備份的重要性 1.備份的主要目的是災難恢復 在生產環境中&#xff0c;數據的安全性至關重要 任何數據的丟失都可能產生嚴重的后果造成數據丟失的原因&#xff1a; 程序錯誤人為,操作錯誤運算錯誤磁盤故障災難&#xff08;如火災、地震&#xff09;和盜竊 2.數據庫備份…

【5G射頻基本架構】

平臺框架 平臺演進及搭配 5G NR頻譜 NSA/SA/ENDC 在雙連接中&#xff0c;UE在連接狀態下可同時使用至少兩個不同基站的無線資源。對于Sprint&#xff0c;ENDC將允許設備在相同的頻段&#xff08;41 / 2.5 GHz頻段&#xff09;上同時訪問LTE和5G。 手機硬件實現ENDC方式—類似LT…

動態住宅代理IP的優勢是什么?什么地方用到?

在大數據時代的背景下&#xff0c;代理IP成為了很多企業順利開展的重要工具。代理IP地址可以分為住宅代理IP地址和數據中心代理IP地址。選擇住宅代理IP的好處是可以實現真正的高匿名性&#xff0c;而使用數據中心代理IP可能會暴露自己使用代理的情況。 住宅代理IP是指互聯網服務…

數據庫系統概論 | 觸發器代碼 | 行級觸發器 | 語句級觸發器

觸發器 這篇博客拿兩個例子來解釋一下什么是行級觸發器和語句級觸發器。 **例子1&#xff1a;**當對表SC的Grade屬性進行修改時&#xff0c;若分數增加了10%&#xff0c;則將此次操作記錄到另一個表SC_U&#xff08;Sno CHAR(8)、Cno CHAR(5)、Oldgrade SMALLINT、Newgrade S…

Flink 窗口觸發器(Trigger)(一)

Flink 窗口觸發器(Trigger)(一) Flink 窗口觸發器(Trigger)(二) Flink的窗口觸發器&#xff08;Trigger&#xff09;是流處理中一個非常關鍵的概念&#xff0c;它定義了窗口何時被觸發并決定觸發后的行為&#xff08;如進行窗口數據的計算或清理&#xff09;。 一、基本概念 …

[數據集][目標檢測]人員狀態跑睡抽煙打電話跌倒檢測數據集4943張5類別

數據集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路徑的txt文件&#xff0c;僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數)&#xff1a;4943 標注數量(xml文件個數)&#xff1a;4943 標注數量(txt文件個數)&#xff1a;4943 標注…

[Leetcode 136][Easy]-只出現一次的數字

目錄 題目描述 具體思路 題目描述 原題鏈接 具體思路 ①首先看到數組中重復的數字&#xff0c;想到快慢指針&#xff0c;但是數組的元素是亂序的不好求。因此先對數組排序。使用了STL庫的sort函數&#xff0c;時間復雜度O(nlogn)不符合題目要求&#xff0c;空間復雜度O(1)。…

Pytorch學習之torch.split函數

Pytorch學習之torch.split函數 一、簡介 torch.split用于將一個張量&#xff08;tensor&#xff09;沿指定維度&#xff08;dim&#xff09;拆分為多個子張量。這個函數對于處理需要按塊拆分數據的任務非常有用&#xff0c;例如在自然語言處理和圖像處理中的數據預處理。 二…

RXMH2 RK223 069 AS大容量中間繼電器 板前接線 約瑟JOSEF

RXMH2大容量中間繼電器型號&#xff1a; RXMH2 RK 223 067大容量中間繼電器&#xff1b; RXMH2 RK 223 068大容量中間繼電器&#xff1b; RXMH2 RK 223 069大容量中間繼電器&#xff1b; RXMH2 RK 223 070大容量中間繼電器&#xff1b; 用途 用于電力系統二次回路及工業自…

基于Hadoop平臺的電信客服數據的處理與分析③項目開發:搭建Kafka大數據運算環境---任務11:基礎環境準備

任務描述 任務主要是安裝配置基礎環境&#xff0c;主要內容包括&#xff1a; 1、安裝java Kafka和ZooKeeper都需要安裝Java環境&#xff0c;推薦至少Java8及以上版本 2、安裝ZooKeeper ZooKeeper是Kafka集群的必要組件 3、安裝kafka Kafka版本包括使用的scala語言版本和kafka版…

Ubuntu22.04上Docker的安裝

1. 使用APT安裝 首先安裝HTTPS傳輸的軟件包和CA證書&#xff0c;確保軟件下載過程中不被篡改。 sudo apt-get updatesudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y然后&#xff0c;使用國內源&#xff0c;并添加軟件源的 GPG 密鑰以防…