Предполагая, что вам нужен текстовый или HTML-файл, а не файл изображения, такой как снимок экрана, JavaScript сам по себе не может вызвать диалоговое окно «Сохранить» в веб-браузере, а только ответ на веб-запрос к серверу.Итак.
Для начала вам понадобится форма с вашей кнопкой и скрытым полем:
<div id="saveme">stuff to save</div>
<form action="saveme.aspx" method="POST">
<input type="submit" onclick="prepsave()">
<input type="hidden" id="savemepost">
</form>
И вам нужен Javascript для сохранения содержимого DIV в скрытое поле перед тем, какsubmittal:
<script>
function prepsave() {
document.getElementById("savemepost").value =
document.getElementById("saveme").innerHTML;
return true;
}
</script>
На сервере вам понадобится код, чтобы принять текст и выложить его обратно в виде прикрепленного файла:
<script runat="server">
Response.Clear()
Response.AddHeader("content-disposition","attachment; filename=saved.html")
Response.Write(Request.Form("savemepost"))
</script>
Предупреждение # 1: Возможно, есть некоторые незначительные ошибки и много возможностей для улучшения, это всего лишь подтверждение концепции.
Предупреждение # 2: приведенный выше код на стороне сервера потенциально небезопасен, поскольку допускает любую веб-страницу.контролировать контент, идущий в веб-браузер пользователя с вашего домена.Вам нужно будет добавить некоторые меры, чтобы защитить это от злоупотреблений.