<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wikincat.org/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AFileSaver.js</id>
	<title>MediaWiki:FileSaver.js - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="https://wikincat.org/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AFileSaver.js"/>
	<link rel="alternate" type="text/html" href="https://wikincat.org/w/index.php?title=MediaWiki:FileSaver.js&amp;action=history"/>
	<updated>2026-05-12T17:42:00Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wikincat.org/w/index.php?title=MediaWiki:FileSaver.js&amp;diff=3742&amp;oldid=prev</id>
		<title>Jaider.ferreira em 16h17min de 18 de março de 2024</title>
		<link rel="alternate" type="text/html" href="https://wikincat.org/w/index.php?title=MediaWiki:FileSaver.js&amp;diff=3742&amp;oldid=prev"/>
		<updated>2024-03-18T16:17:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wikincat.org/w/index.php?title=MediaWiki:FileSaver.js&amp;amp;diff=3742&amp;amp;oldid=76&quot;&gt;Mostrar alterações&lt;/a&gt;</summary>
		<author><name>Jaider.ferreira</name></author>
	</entry>
	<entry>
		<id>https://wikincat.org/w/index.php?title=MediaWiki:FileSaver.js&amp;diff=76&amp;oldid=prev</id>
		<title>Jaider.ferreira: uma edição</title>
		<link rel="alternate" type="text/html" href="https://wikincat.org/w/index.php?title=MediaWiki:FileSaver.js&amp;diff=76&amp;oldid=prev"/>
		<updated>2020-10-26T18:19:39Z</updated>

		<summary type="html">&lt;p&gt;uma edição&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Edição das 15h19min de 26 de outubro de 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;pt-BR&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Sem diferença)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Jaider.ferreira</name></author>
	</entry>
	<entry>
		<id>https://wikincat.org/w/index.php?title=MediaWiki:FileSaver.js&amp;diff=499&amp;oldid=prev</id>
		<title>Jaider.ferreira: Criou página com &#039;// Credits: https://github.com/eligrey/FileSaver.js  /* FileSaver.js  * A saveAs() FileSaver implementation.  * 1.3.2  * 2016-06-16 18:25:19  *  * By Eli Grey, http://eligrey....&#039;</title>
		<link rel="alternate" type="text/html" href="https://wikincat.org/w/index.php?title=MediaWiki:FileSaver.js&amp;diff=499&amp;oldid=prev"/>
		<updated>2020-01-20T14:53:57Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;// Credits: https://github.com/eligrey/FileSaver.js  /* FileSaver.js  * A saveAs() FileSaver implementation.  * 1.3.2  * 2016-06-16 18:25:19  *  * By Eli Grey, http://eligrey....&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// Credits: https://github.com/eligrey/FileSaver.js&lt;br /&gt;
&lt;br /&gt;
/* FileSaver.js&lt;br /&gt;
 * A saveAs() FileSaver implementation.&lt;br /&gt;
 * 1.3.2&lt;br /&gt;
 * 2016-06-16 18:25:19&lt;br /&gt;
 *&lt;br /&gt;
 * By Eli Grey, http://eligrey.com&lt;br /&gt;
 * License: MIT&lt;br /&gt;
 *   See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/*global self */&lt;br /&gt;
/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */&lt;br /&gt;
&lt;br /&gt;
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */&lt;br /&gt;
&lt;br /&gt;
var saveAs = saveAs || (function(view) {&lt;br /&gt;
	&amp;quot;use strict&amp;quot;;&lt;br /&gt;
	// IE &amp;lt;10 is explicitly unsupported&lt;br /&gt;
	if (typeof view === &amp;quot;undefined&amp;quot; || typeof navigator !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; /MSIE [1-9]\./.test(navigator.userAgent)) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	var&lt;br /&gt;
		  doc = view.document&lt;br /&gt;
		  // only get URL when necessary in case Blob.js hasn&amp;#039;t overridden it yet&lt;br /&gt;
		, get_URL = function() {&lt;br /&gt;
			return view.URL || view.webkitURL || view;&lt;br /&gt;
		}&lt;br /&gt;
		, save_link = doc.createElementNS(&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;, &amp;quot;a&amp;quot;)&lt;br /&gt;
		, can_use_save_link = &amp;quot;download&amp;quot; in save_link&lt;br /&gt;
		, click = function(node) {&lt;br /&gt;
			var event = new MouseEvent(&amp;quot;click&amp;quot;);&lt;br /&gt;
			node.dispatchEvent(event);&lt;br /&gt;
		}&lt;br /&gt;
		, is_safari = /constructor/i.test(view.HTMLElement) || view.safari&lt;br /&gt;
		, is_chrome_ios =/CriOS\/[\d]+/.test(navigator.userAgent)&lt;br /&gt;
		, throw_outside = function(ex) {&lt;br /&gt;
			(view.setImmediate || view.setTimeout)(function() {&lt;br /&gt;
				throw ex;&lt;br /&gt;
			}, 0);&lt;br /&gt;
		}&lt;br /&gt;
		, force_saveable_type = &amp;quot;application/octet-stream&amp;quot;&lt;br /&gt;
		// the Blob API is fundamentally broken as there is no &amp;quot;downloadfinished&amp;quot; event to subscribe to&lt;br /&gt;
		, arbitrary_revoke_timeout = 1000 * 40 // in ms&lt;br /&gt;
		, revoke = function(file) {&lt;br /&gt;
			var revoker = function() {&lt;br /&gt;
				if (typeof file === &amp;quot;string&amp;quot;) { // file is an object URL&lt;br /&gt;
					get_URL().revokeObjectURL(file);&lt;br /&gt;
				} else { // file is a File&lt;br /&gt;
					file.remove();&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
			setTimeout(revoker, arbitrary_revoke_timeout);&lt;br /&gt;
		}&lt;br /&gt;
		, dispatch = function(filesaver, event_types, event) {&lt;br /&gt;
			event_types = [].concat(event_types);&lt;br /&gt;
			var i = event_types.length;&lt;br /&gt;
			while (i--) {&lt;br /&gt;
				var listener = filesaver[&amp;quot;on&amp;quot; + event_types[i]];&lt;br /&gt;
				if (typeof listener === &amp;quot;function&amp;quot;) {&lt;br /&gt;
					try {&lt;br /&gt;
						listener.call(filesaver, event || filesaver);&lt;br /&gt;
					} catch (ex) {&lt;br /&gt;
						throw_outside(ex);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		, auto_bom = function(blob) {&lt;br /&gt;
			// prepend BOM for UTF-8 XML and text/* types (including HTML)&lt;br /&gt;
			// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF&lt;br /&gt;
			if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {&lt;br /&gt;
				return new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});&lt;br /&gt;
			}&lt;br /&gt;
			return blob;&lt;br /&gt;
		}&lt;br /&gt;
		, FileSaver = function(blob, name, no_auto_bom) {&lt;br /&gt;
			if (!no_auto_bom) {&lt;br /&gt;
				blob = auto_bom(blob);&lt;br /&gt;
			}&lt;br /&gt;
			// First try a.download, then web filesystem, then object URLs&lt;br /&gt;
			var&lt;br /&gt;
				  filesaver = this&lt;br /&gt;
				, type = blob.type&lt;br /&gt;
				, force = type === force_saveable_type&lt;br /&gt;
				, object_url&lt;br /&gt;
				, dispatch_all = function() {&lt;br /&gt;
					dispatch(filesaver, &amp;quot;writestart progress write writeend&amp;quot;.split(&amp;quot; &amp;quot;));&lt;br /&gt;
				}&lt;br /&gt;
				// on any filesys errors revert to saving with object URLs&lt;br /&gt;
				, fs_error = function() {&lt;br /&gt;
					if ((is_chrome_ios || (force &amp;amp;&amp;amp; is_safari)) &amp;amp;&amp;amp; view.FileReader) {&lt;br /&gt;
						// Safari doesn&amp;#039;t allow downloading of blob urls&lt;br /&gt;
						var reader = new FileReader();&lt;br /&gt;
						reader.onloadend = function() {&lt;br /&gt;
							var url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, &amp;#039;data:attachment/file;&amp;#039;);&lt;br /&gt;
							var popup = view.open(url, &amp;#039;_blank&amp;#039;);&lt;br /&gt;
							if(!popup) view.location.href = url;&lt;br /&gt;
							url=undefined; // release reference before dispatching&lt;br /&gt;
							filesaver.readyState = filesaver.DONE;&lt;br /&gt;
							dispatch_all();&lt;br /&gt;
						};&lt;br /&gt;
						reader.readAsDataURL(blob);&lt;br /&gt;
						filesaver.readyState = filesaver.INIT;&lt;br /&gt;
						return;&lt;br /&gt;
					}&lt;br /&gt;
					// don&amp;#039;t create more object URLs than needed&lt;br /&gt;
					if (!object_url) {&lt;br /&gt;
						object_url = get_URL().createObjectURL(blob);&lt;br /&gt;
					}&lt;br /&gt;
					if (force) {&lt;br /&gt;
						view.location.href = object_url;&lt;br /&gt;
					} else {&lt;br /&gt;
						var opened = view.open(object_url, &amp;quot;_blank&amp;quot;);&lt;br /&gt;
						if (!opened) {&lt;br /&gt;
							// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html&lt;br /&gt;
							view.location.href = object_url;&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					filesaver.readyState = filesaver.DONE;&lt;br /&gt;
					dispatch_all();&lt;br /&gt;
					revoke(object_url);&lt;br /&gt;
				}&lt;br /&gt;
			;&lt;br /&gt;
			filesaver.readyState = filesaver.INIT;&lt;br /&gt;
&lt;br /&gt;
			if (can_use_save_link) {&lt;br /&gt;
				object_url = get_URL().createObjectURL(blob);&lt;br /&gt;
				setTimeout(function() {&lt;br /&gt;
					save_link.href = object_url;&lt;br /&gt;
					save_link.download = name;&lt;br /&gt;
					click(save_link);&lt;br /&gt;
					dispatch_all();&lt;br /&gt;
					revoke(object_url);&lt;br /&gt;
					filesaver.readyState = filesaver.DONE;&lt;br /&gt;
				});&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			fs_error();&lt;br /&gt;
		}&lt;br /&gt;
		, FS_proto = FileSaver.prototype&lt;br /&gt;
		, saveAs = function(blob, name, no_auto_bom) {&lt;br /&gt;
			return new FileSaver(blob, name || blob.name || &amp;quot;download&amp;quot;, no_auto_bom);&lt;br /&gt;
		}&lt;br /&gt;
	;&lt;br /&gt;
	// IE 10+ (native saveAs)&lt;br /&gt;
	if (typeof navigator !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; navigator.msSaveOrOpenBlob) {&lt;br /&gt;
		return function(blob, name, no_auto_bom) {&lt;br /&gt;
			name = name || blob.name || &amp;quot;download&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			if (!no_auto_bom) {&lt;br /&gt;
				blob = auto_bom(blob);&lt;br /&gt;
			}&lt;br /&gt;
			return navigator.msSaveOrOpenBlob(blob, name);&lt;br /&gt;
		};&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	FS_proto.abort = function(){};&lt;br /&gt;
	FS_proto.readyState = FS_proto.INIT = 0;&lt;br /&gt;
	FS_proto.WRITING = 1;&lt;br /&gt;
	FS_proto.DONE = 2;&lt;br /&gt;
&lt;br /&gt;
	FS_proto.error =&lt;br /&gt;
	FS_proto.onwritestart =&lt;br /&gt;
	FS_proto.onprogress =&lt;br /&gt;
	FS_proto.onwrite =&lt;br /&gt;
	FS_proto.onabort =&lt;br /&gt;
	FS_proto.onerror =&lt;br /&gt;
	FS_proto.onwriteend =&lt;br /&gt;
		null;&lt;br /&gt;
&lt;br /&gt;
	return saveAs;&lt;br /&gt;
}(&lt;br /&gt;
	   typeof self !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; self&lt;br /&gt;
	|| typeof window !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; window&lt;br /&gt;
	|| this.content&lt;br /&gt;
));&lt;br /&gt;
// `self` is undefined in Firefox for Android content script context&lt;br /&gt;
// while `this` is nsIContentFrameMessageManager&lt;br /&gt;
// with an attribute `content` that corresponds to the window&lt;br /&gt;
&lt;br /&gt;
if (typeof module !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; module.exports) {&lt;br /&gt;
  module.exports.saveAs = saveAs;&lt;br /&gt;
} else if ((typeof define !== &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; define !== null) &amp;amp;&amp;amp; (define.amd !== null)) {&lt;br /&gt;
  define(&amp;quot;FileSaver.js&amp;quot;, function() {&lt;br /&gt;
    return saveAs;&lt;br /&gt;
  });&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Jaider.ferreira</name></author>
	</entry>
</feed>