Импорт в блокнот с помощью jquery

Есть ли ссылка для экспорта данных в блокнот? У меня есть такие поля, как Имя, Возраст и Рабочий статус.

Это текст и текстовое поле...

Я хочу вставить эти данные в блокнот. Есть ли какие-нибудь демоверсии или доступный код?


person Niths    schedule 25.06.2013    source источник
comment
возможная копия Чтение/запись в файл с использованием jQuery   -  person Shaddow    schedule 25.06.2013
comment
если вы просто загружаете файл как текстовый/обычный, вы можете открыть его в блокноте, щелкнув завершенную загрузку, но вы не можете принудительно открыть его как таковой. вы можете использовать danml.com/js/download, если вам нужен инструмент для загрузки.   -  person dandavis    schedule 25.06.2013


Ответы (2)


Я не знаю, как открыть блокнот в браузере, но вы можете использовать функции HTML5, чтобы сохранить файл в виде текста, а затем открыть его в собственном блокноте. В зависимости от браузера вам может потребоваться инициировать сохранение файла на стороне пользователя. Вот две ссылки, которые я суммирую:

http://thiscouldbebetter.wordpress.com/2012/12/18/loading-editing-and-saving-a-text-file-in-html5-using-javascrip/

http://updates.html5rocks.com/2011/08/Сохранениесгенерированныхфайловнасторонеклиента

По сути, вы хотите создать и сохранить большой двоичный объект с вашим текстом. Это должно выглядеть примерно так:

var arrayOfStuff = [];
arrayOfStuff.push("Name            Age              Working status");
arrayOfStuff.push("-----------------------------------------------");
arrayOfStuff.push(document.getElementById("name").value);
// etc
var blob = new Blob(arrayOfStuff, {type:'text/plain'});

// (the rest is copied directly from the wordpress link)
var downloadLink = document.createElement("a");
downloadLink.download = fileNameToSaveAs;
downloadLink.innerHTML = "Download File";
if (window.webkitURL != null)
{
    // Chrome allows the link to be clicked programmatically.
    downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob);
    downloadLink.click();
}
else
{
    // Firefox requires the user to actually click the link.
    downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
    document.body.appendChild(downloadLink);
}

Если блокнот не имеет большого значения, вы также сможете открыть этот большой двоичный объект в iframe как .txt, а затем щелкнуть правой кнопкой мыши и сохранить как, если хотите.

Редактировать

Хорошо, это было на самом деле новым для меня, так что часть моей старой информации была не совсем верной. Вот javascript из рабочей скрипки:

var arrayOfStuff = [];
arrayOfStuff.push(document.getElementById("name").value + "\n");
arrayOfStuff.push(document.getElementById("email").value);
arrayOfStuff.push("\n");
arrayOfStuff.push(document.getElementById("phone").value);
arrayOfStuff.push("\n");
arrayOfStuff.push(document.getElementById("comments").value);
arrayOfStuff.push("\n");
alert(arrayOfStuff);

var blob = new Blob(arrayOfStuff, {type:'text/plain'});

var link = document.getElementById("downloadLink");
link.download = "details.txt";
link.href = window.URL.createObjectURL(blob);

Скрипт находится по адресу http://jsfiddle.net/xHH46/2/.

Есть несколько извлеченных уроков:

  1. Если вы используете Firefox, это дает вам возможность сразу же открыть .txt в Блокноте. Однако блокнот не обращает внимания на переводы строки, будь то \n или \n\r, добавленные к непосредственной строке или добавленные отдельно, поэтому я бы рекомендовал вместо этого использовать Wordpad. Или вы можете сохранить файл.
  2. Что еще более важно, осознайте, что отображаемая ссылка основана на любом значении в тексте при создании большого двоичного объекта. Если у вас нет значений по умолчанию, вы получите пустой файл, потому что все поля пусты. Решение WordPress исправляет это (и обсуждает его использование на прошлой неделе), но исправление ужасное. По сути, вам нужно было бы нажать на кнопку, а затем появится ссылка, и эта ссылка даст вам хороший файл.
person Scott Mermelstein    schedule 25.06.2013
comment
@Nithu Я не могу тебе помочь, если ты не хочешь упомянуть, в чем твои сомнения. :-П - person Scott Mermelstein; 25.06.2013
comment
@Nithu Извините, отвлекся на работу. Ссылка дает мне 404 - не могу найти страницу. - person Scott Mermelstein; 25.06.2013
comment
@ScottMermelstein-извините... Я не знаю, что случилось с этой ссылкой..jsfiddle.net/xHH46/ 1 - person Niths; 25.06.2013
comment
@Nithu Обновлен с рабочим примером. Ознакомьтесь с моим новым ответом - чтобы заставить его работать так, как я ожидаю, вам может потребоваться добавить кнопку, которая создает ссылку, а затем щелкнуть по этой ссылке. - person Scott Mermelstein; 25.06.2013

Вы не сможете сделать это с помощью чисто javascript. Вам нужно сгенерировать файл на стороне сервера и отправить его клиенту.

person reggaemahn    schedule 25.06.2013
comment
в сфере только IE это вполне возможно, хотя и не разумно, если вы спросите меня. - person rlemon; 25.06.2013
comment
вы можете создавать файлы на стороне клиента в текущих версиях основных браузеров. - person dandavis; 25.06.2013
comment
@rlemon Да, это правда. Но я считаю, что ОП ищет решение для кресс-браузера. Спасибо, что указали на это. - person reggaemahn; 25.06.2013
comment
@dandavis Я не знаю об этой функции. Спасибо за комментарий. - person reggaemahn; 25.06.2013