В следующей ссылке
<a href=\"#\" onclick=javascript:print(\"\") style=\"color:blue;\">Print</a>"
<script>
function print()
{
//How to print the contents of another page
}
В следующей ссылке
<a href=\"#\" onclick=javascript:print(\"\") style=\"color:blue;\">Print</a>"
<script>
function print()
{
//How to print the contents of another page
}
Я думаю, вы можете распечатать содержимое текущей страницы, а не внешней страницы.
Я знаю, что это старый вопрос, но вы можете сделать это так:
function printExternal(url) {
var printWindow = window.open( url, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0');
printWindow.addEventListener('load', function(){
printWindow.print();
printWindow.close();
}, true);
}
Проверено в Firefox и Chrome. IE9 не работает.
Больше не работает в Chrome, код адаптирован из Coder answer здесь:
function printExternal(url) {
var printWindow = window.open( url, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0');
printWindow.addEventListener('load', function() {
if (Boolean(printWindow.chrome)) {
printWindow.print();
setTimeout(function(){
printWindow.close();
}, 500);
} else {
printWindow.print();
printWindow.close();
}
}, true);
}
Если у вас уже есть внешняя страница ( letterprint.php
), поместите эту страницу в скрытый iframe и распечатайте содержимое iframe, используя атрибут onclick в кнопке.
<iframe src="letterprint.php" style="display:none;" name="frame"></iframe>
<input type="button" onclick="frames['frame'].print()" value="printletter">
Альтернативой является ссылка на страницу с помощью переменной get, а затем вызов функции печати.
По вашей ссылке -
<a href="print-page.php?print=1">Print other page</a>
Затем на странице печати (или на всех страницах)
<script type="text/javascript">
<? if(isset($_GET['print'])) { ?>
window.print();
<? } ?>
</script>
if (/\bprint=1\b/.test(window.location.search)) window.print();
- person Arel; 23.11.2018
Вы можете распечатать внешнюю страницу, создав объект окна другой страницы и вызвав метод печати этой страницы.
URL-адрес может быть передан в качестве аргумента или может быть жестко запрограммирован в функции в зависимости от варианта использования.
function print(url) {
var printWindow = window.open( url);
printWindow.print();
};
Подумайте о проблемах безопасности/неловкости, которые существовали бы, если бы это было возможно. К счастью, браузеры не позволят вам сделать это.
Самое близкое, что вы можете получить, это получить страницу через AJAX, заменить текущую DOM новой страницей и распечатать с помощью обычного метода JS print().