Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function() {
- var text = "";
- var saved_file_entry, file_display_path;
- function get_data_as_text() {
- var rss_url = "http://lenta.ru/rss";
- var xhr = new XMLHttpRequest();
- xhr.open("GET", rss_url, true);
- xhr.send(null);
- xhr.onreadystatechange = function() {
- if (4 == xhr.readyState && 200 == xhr.status) {
- /*var items = xhr.ResponseXML.getElementsByTagName("item");
- for (var i = 0; i < items.length; i++) {
- text += $(items[i]).find("title").html() + '\n';
- text += '\t' + $(items[i]).find("description").html() + '\n';
- text += '\n';
- }*/
- var xml = xhr.responseXML;
- var items = xml.getElementsByTagName("item");
- for (var i = 0; i < items.length; i++) {
- text += $(items[i]).find("title").html() + '\n';
- text += '\t' + $(items[i]).find("description").html() + '\n';
- text += '\n';
- for (j = 0; j < 70; j++) text += "=";
- text += '\n';
- }
- text = text.replace(/<!\[CDATA\[/g, '').replace(/\]\]>/g, '');
- return true;
- }
- }
- return true;
- }
- function save_to_entry() {
- currentEntry = text;
- var blob = new Blob([text], {type: 'text/plain'});
- currentEntry.createWriter(function(writer) {
- writer.onwrite = function() {
- writer.onwrite = null;
- writer.write(blob);
- }
- writer.truncate(blob.size);
- });
- }
- var savedFileEntry, fileDisplayPath;
- function getTodosAsText(callback) {
- //var text = "lorem ipsum dolor sit amet";
- callback(text);
- }
- function exportToFileEntry(fileEntry) {
- savedFileEntry = fileEntry;
- var status = document.getElementById('status');
- // Use this to get a file path appropriate for displaying
- chrome.fileSystem.getDisplayPath(fileEntry, function(path) {
- fileDisplayPath = path;
- status.innerText = 'Exporting to '+path;
- });
- getTodosAsText( function(contents) {
- fileEntry.createWriter(function(fileWriter) {
- var truncated = false;
- var blob = new Blob([contents]);
- fileWriter.onwriteend = function(e) {
- if (!truncated) {
- truncated = true;
- // You need to explicitly set the file size to truncate
- // any content that might have been there before
- this.truncate(blob.size);
- return;
- }
- status.innerText = 'Export to '+fileDisplayPath+' completed';
- };
- fileWriter.onerror = function(e) {
- status.innerText = 'Export failed: '+e.toString();
- };
- fileWriter.write(blob);
- });
- });
- }
- function doExportToDisk() {
- if (savedFileEntry) {
- exportToFileEntry(savedFileEntry);
- } else {
- chrome.fileSystem.chooseEntry( {
- type: 'saveFile',
- suggestedName: 'todos.txt',
- accepts: [ { description: 'Text files (*.txt)',
- extensions: ['txt']} ],
- acceptsAllTypes: true
- }, exportToFileEntry);
- }
- }
- document.getElementById("export").addEventListener("click", function() {
- if (true == get_data_as_text()) {
- doExportToDisk();
- }
- });
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement