Возможно ли создать кнопку, которая печатает много страниц веб-сайта?

#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. Да, это так, я сделаю это, спасибо.