亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javascript實現(xiàn)生成并下載txt文件方式

 更新時間:2022年09月19日 09:50:46   作者:z__a  
這篇文章主要介紹了javascript實現(xiàn)生成并下載txt文件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

js生成并下載txt文件

下面的簡單函數允許您直接在瀏覽器中生成文件,而無需接觸任何服務器。

它適用于所有HTML5就緒的瀏覽器,因為它使用了<a>的下載屬性:

function download(filename, text) {
? var element = document.createElement('a');
? element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
? element.setAttribute('download', filename);
?
? element.style.display = 'none';
? document.body.appendChild(element);
?
? element.click();?
? document.body.removeChild(element);
}?
?
download("hello.txt","This is the content of my file :)");

創(chuàng)建庫,FileSaver.js在不支持saveAs()的FileSaver接口的瀏覽器中實現(xiàn)它。如果您需要保存更大的文件,或者BLOB的大小限制,或者沒有足夠的內存,那么請看一看更高級的StreamSaver.js,它可以使用新的StreamsAPI的強大功能將數據直接異步保存到硬盤中。同時支持進度查看,取消和何時完成。

下面的代碼段允許您生成一個文件(具有任何擴展名)并下載它,而無需鏈接任何服務器:

var content = "What's up , hello world";
// any kind of extension (.txt,.cpp,.cs,.bat)
var filename = "hello.txt";
?
var blob = new Blob([content], {
?type: "text/plain;charset=utf-8"
});
?
saveAs(blob, filename);

下表顯示了FileSaver.js在不同瀏覽器中的兼容性

BrowserConstructs asFilenamesMax Blob SizeDependencies
Firefox 20+BlobYes800 MiBNone
Firefox < 20data: URINon/aBlob.js
ChromeBlobYes[500 MiB][3]None
Chrome for AndroidBlobYes[500 MiB][3]None
EdgeBlobYes?None
IE 10+BlobYes600 MiBNone
Opera 15+BlobYes500 MiBNone
Opera < 15data: URINon/aBlob.js
Safari 6.1+*BlobNo?None
Safari < 6data: URINon/aBlob.js
Safari 10.1+BlobYesn/aNone

注意: 盡管它支持最新的瀏覽器,但您需要了解幾個技巧才能更好運用。

js導出文件為txt并下載

今天要做一個數據下載到本地保存為txt文件,一開始網上找了很多例子,大部分都是用的ActiveXObject對象,但是粘貼到本地測試就報錯,后來才發(fā)現(xiàn)這個只兼容IE。

后來又搜索了半天才得到解決,現(xiàn)在我就把解決辦法給大家分享一下。

首先HTML結構使用最簡單的結構

<textarea name="" id="text" cols="30" rows="10">這里輸入的數據將保存為txt中</textarea>
<button id="save" type="button">保存</button>

然后js

? ? ? ?document.querySelector('#save').addEventListener('click', saveFile);
? ? ? ?function fakeClick(obj) {?
? ? ? ?  var ev = document.createEvent("MouseEvents");
ev.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
    obj.dispatchEvent(ev);
  }
  function exportRaw(name, data) {
    var urlObject = window.URL || window.webkitURL || window;
    var export_blob = new Blob([data]);
    var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
    save_link.href = urlObject.createObjectURL(export_blob);
    save_link.download = name;
    fakeClick(save_link);
  }
  function saveFile(){
    var inValue ?= document.querySelector('#text').value;
    exportRaw('test.txt', inValue);
  }

這樣就可以在點擊保存后將textarea中輸入的內容本地化為txt文件。 

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關文章

  • js模擬電腦選擇多文件夾效果_選區(qū)代碼

    js模擬電腦選擇多文件夾效果_選區(qū)代碼

    模仿選擇文件夾效果的javascript封裝類,效果不錯,實際應用呢,暫時用不到,大家可以學習思路
    2008-09-09
  • js/jquery解析json和數組格式的方法詳解

    js/jquery解析json和數組格式的方法詳解

    本篇文章主要是對js/jquery解析json和數組格式的方法進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • angular-tree-component的使用詳解

    angular-tree-component的使用詳解

    這篇文章主要介紹了angular-tree-component的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • async/await實現(xiàn)Promise.all()的方式

    async/await實現(xiàn)Promise.all()的方式

    Promise.all() 方法接收一個 promise 的 iterable 類型的輸入,并且只返回一個Promise實例,并且輸入的所有 promise 的 resolve 回調的結果是一個數組,對async/await實現(xiàn)Promise.all()相關知識感興趣的朋友一起看看吧
    2022-12-12
  • JavaScript中async/await的高級用法小結

    JavaScript中async/await的高級用法小結

    JavaScript的異步編程已經從回調(Callback)演進到Promise,再到如今廣泛使用的async/await語法,本文為大家整理了7個async/await高級用法,希望對大家有所幫助
    2023-12-12
  • 用原生js統(tǒng)計文本行數的簡單示例

    用原生js統(tǒng)計文本行數的簡單示例

    這篇文章我們來看看如何利用原生的JavaScript實現(xiàn)統(tǒng)計文本的行數,代碼實現(xiàn)起來很簡單,有需要的可以參考借鑒。
    2016-08-08
  • 至2023年最好用的兼容多瀏覽器的原生js復制函數copyText

    至2023年最好用的兼容多瀏覽器的原生js復制函數copyText

    因為后臺需要增加一些復制一些內容非表單中內容,那么下面這個函數就非常的好用了,其實也是利用了表單的數據權限比較容易突破,下面是具體的實現(xiàn)函數,大家可以拿走
    2023-05-05
  • JavaScript實現(xiàn)拖拽和縮放效果

    JavaScript實現(xiàn)拖拽和縮放效果

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)拖拽和縮放效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 深入了解JavaScript發(fā)布訂閱模式

    深入了解JavaScript發(fā)布訂閱模式

    JavaScript?發(fā)布訂閱模式(Publish/Subscribe?Pattern)是一種常用的設計模式,發(fā)布訂閱模式的核心思想是解耦事件的發(fā)生和事件的處理,本文將介紹?JavaScript?發(fā)布訂閱模式的基本原理、應用場景以及各場景的代碼示例,需要的朋友可以參考下
    2023-05-05
  • Js 實現(xiàn)表格隔行換色一例

    Js 實現(xiàn)表格隔行換色一例

    Js實現(xiàn)表格隔行換色一例,這種效果網上已經有很多啦,每一種都有特色,請大家選擇使用。
    2009-11-11

最新評論