W ogólnie rzecz biorąc, nie używałbyś JavaScript, aby uzyskać dostęp do wielu stron i drukować je. (Jeśli jest to w ogóle możliwe, to brzmi jak byłoby to trochę hack.)
Zamiast tego, to prawdopodobnie chcesz mieć jedną stronę, która zawiera wszystkie informacje, które mają zostać wydrukowane, CSS stylu dla printability, który użytkownik mógłby przeglądać i móc drukować. (W tym przypadku możesz łatwo użyć JavaScriptu do rozpoczęcia akcji drukowania.)
Być może link "drukuj wszystko", który kieruje użytkownika do strony (lub otwiera stronę w nowym target), która zawiera wszystkie informacje do druku?
Można nawet posunąć się o krok dalej i uczynić go nieco bardziej dynamicznym. Może mieć pola wyboru obok nagłówków dla każdej sekcji informacji i przycisk "wydrukuj wybrane", który wysłałby selekcje do serwera i wyrenderowałby tylko wybraną informację na stronie "drukuj wszystko".
Po prostu czuję, że jako użytkownik przylega to bardziej do least astonishment niż do czegoś, co drukuje rzeczy, których nawet nie pobrałem w pierwszej kolejności (gdzie również ryzykujesz wysłanie zbyt dużej ilości do drukarki użytkownika i marnowanie ich zasobów).
Edit:
Innym podejściem, które właśnie przyszło mi do głowy. Czy cała treść musi znajdować się na oddzielnych stronach? Może po prostu wstaw zawartość domyślnie ukrytą, a link "czytaj więcej" pokazuje skojarzone div
. W takim razie wszystko, co jest potrzebne do drukowania, to wspomniany styl mediów CSS. Przeglądając w przeglądarce, mogą one oddzielnie rozwijać/zwijać sekcje informacji, ale po wydrukowaniu strony wszystko jest rozszerzane.
Zamień przycisk "czytaj więcej" na pasku przewijania wbudowanym w przeglądarce. – Quentin