#javascript #jquery #html #ruby-on-rails #printing
#javascript #jquery #HTML #ruby-on-rails #печать
Вопрос:
Мне нужно создать кнопку, которая может печатать много страниц веб-сайта, над которым я работаю.
Я попытался добавить весь html страниц, которые мне нужно распечатать, в документ. Моя идея состоит в том, чтобы печатать благодаря window.print()
, но у меня много ошибок из-за содержимого javascript (которое использует dom) каждой страницы.
Это мой текущий код :
var homeInnerHTML = document.documentElement.innerHTML;
var htmlToPrint = "";
<% User.all.order(:name).each do |user| %>
<% Project.where(chief: user.id).order(:title).each do |project| %>
$.get("/sheet?id=<%= project.id %>", function(data) {
htmlToPrint = data;
});
<% end %>
<% end %>
function printAll() {
document.open();
document.write(htmlToPrint);
document.close();
window.print();
document.open();
document.write(homeInnerHTML);
document.close();
}
У меня нет никаких других идей о том, что я могу сделать, и если это существует, есть аккуратный способ с хорошим пользовательским интерфейсом для этого.
Комментарии:
1. Это может быть возможно, но гораздо проще / лучше просто создать маршрут, действие и представление, которые отображают ресурсы. Например,
/projects/:project_id/sheets
или/users/:user_id/projects
.2. Да, это так, я сделаю это, спасибо.