欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

js生成并下載txt文件

下面的簡(jiǎn)單函數(shù)允許您直接在瀏覽器中生成文件,而無需接觸任何服務(wù)器。

它適用于所有HTML5就緒的瀏覽器,因?yàn)樗褂昧?lt;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接口的瀏覽器中實(shí)現(xiàn)它。如果您需要保存更大的文件,或者BLOB的大小限制,或者沒有足夠的內(nèi)存,那么請(qǐng)看一看更高級(jí)的StreamSaver.js,它可以使用新的StreamsAPI的強(qiáng)大功能將數(shù)據(jù)直接異步保存到硬盤中。同時(shí)支持進(jìn)度查看,取消和何時(shí)完成。

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

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

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

js導(dǎo)出文件為txt并下載

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

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

首先HTML結(jié)構(gòu)使用最簡(jiǎn)單的結(jié)構(gòu)

<textarea name="" id="text" cols="30" rows="10">這里輸入的數(shù)據(jù)將保存為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);
  }

這樣就可以在點(diǎn)擊保存后將textarea中輸入的內(nèi)容本地化為txt文件。 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

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

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

    模仿選擇文件夾效果的javascript封裝類,效果不錯(cuò),實(shí)際應(yīng)用呢,暫時(shí)用不到,大家可以學(xué)習(xí)思路
    2008-09-09
  • js/jquery解析json和數(shù)組格式的方法詳解

    js/jquery解析json和數(shù)組格式的方法詳解

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

    angular-tree-component的使用詳解

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

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

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

    JavaScript中async/await的高級(jí)用法小結(jié)

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

    用原生js統(tǒng)計(jì)文本行數(shù)的簡(jiǎn)單示例

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

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

    因?yàn)楹笈_(tái)需要增加一些復(fù)制一些內(nèi)容非表單中內(nèi)容,那么下面這個(gè)函數(shù)就非常的好用了,其實(shí)也是利用了表單的數(shù)據(jù)權(quán)限比較容易突破,下面是具體的實(shí)現(xiàn)函數(shù),大家可以拿走
    2023-05-05
  • JavaScript實(shí)現(xiàn)拖拽和縮放效果

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

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

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

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

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

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

最新評(píng)論