jQuery 生成下载文件
jquery.generateFile.js(function($){// Creating a jQuery plugin:$.generateFile = function(options){options = options || {};if(!options.script || !options.filename || !options.content){throw new Error("Please enter all the required config options!");}// Creating a 1 by 1 px invisible iframe:var iframe = $('<iframe>',{width:1,height:1,frameborder:0,css:{display:'none'}}).appendTo('body');var formHTML = '<form action="" method="post">'+'<input type="hidden" name="filename" />'+'<input type="hidden" name="content" />'+'</form>';// Giving IE a chance to build the DOM in// the iframe with a short timeout:setTimeout(function(){// The body element of the iframe document:var body = (iframe.prop('contentDocument') !== undefined) ?iframe.prop('contentDocument').body :iframe.prop('document').body;// IEbody = $(body);// Adding the form to the body:body.html(formHTML);var form = body.find('form');form.attr('action',options.script);form.find('input').val(options.filename);form.find('input').val(options.content);// Submitting the form to download.php. This will// cause the file download dialog box to appear.form.submit();},50);};})(jQuery);
调用方法:
$(document).ready(function(){$('#download').click(function(e){$.generateFile({filename: 'export.txt',content: $('textarea').val(),script: 'download.php'});e.preventDefault();});$('#downloadPage').click(function(e){$.generateFile({filename: 'page.html',content: $('html').html(),script: 'download.php'});e.preventDefault();});});
页:
[1]