Tôi có ứng dụng .Net tự động tạo trang HTML nhỏ và bật lên trong cửa sổ mới bằng phương thức javascript document.open. Mọi thứ với chức năng đó đều hoạt động tốt.Làm cách nào để in từ cửa sổ bật lên trong javascript?
Bây giờ tôi muốn thêm nút vào trang HTML in trang. Tôi đã thử sử dụng mã sau để không có kết quả:
<a href='print.html' onClick='window.print();return false;'>
<img src='images/printer.png' height='32px' width='32px'></a>
Khi nút được nhấp trong cửa sổ bật lên, không có gì xảy ra. Nhưng khi mã nguồn của trang này được lưu và tải trong trình duyệt dưới dạng một trang riêng biệt, nút in hoạt động hoàn hảo.
Vì vậy, nó sẽ xuất hiện rằng vấn đề là do thực tế là mã đang ở trong một cửa sổ popup.
[Vấn đề bây giờ có vẻ là mã được ghi vào cửa sổ bật lên sau khi được mở.] Có ai biết cách khắc phục sự cố này hoặc bất kỳ giải pháp thay thế nào không?
EDIT:
phương pháp khác mà tôi đã thử với kết quả tương tự:
<input type='button' onclick='window.print()' value='Print' />
và
<a href='javascript:window.print()'>
<img src='images/printer.png' height='32px' width='32px'></a>
EDIT LẠI:
Đoạn mã trên hoạt động trong Firefox, nhưng không phải trong IE7. Bất kỳ ý tưởng về một công việc xung quanh cho IE?
EDIT một lần nữa:
Đây là một trường hợp thử nghiệm bằng cách sử dụng mã npupposted dưới đây. Thay vì mã cho cửa sổ bật lên sống trong một tệp html riêng biệt, tôi đang mở một url trống và sau đó viết mã cho nó. Bước này có vẻ là nguyên nhân gây ra sự cố.
<html>
<head>
<title>main</title>
</head>
<body>
<h1>
Pop & print</h1>
<button onclick="pop();">
Pop</button>
<script type="text/javascript">
var POP;
function pop() {
var newWin = window.open('', 'thePopup', 'width=350,height=350');
newWin.document.write("<html><head><title>popup</title></head><body><h1>Pop</h1>" +
"<p>Print me</p><a href='print.html' onclick='window.print();return false;'>" +
"<img src='images/printer.png' height='32px' width='32px'></a></body></html>");
}
</script>
</body>
</html>
này có kết quả tương tự, làm việc trong một cửa sổ trình duyệt riêng biệt nhưng không phải từ một popup. – sglantz
Hmm! Khi tôi bấm vào nút nó mở ra ngăn xếp máy in cho tôi để chọn máy in. Bạn có máy in kèm theo không? Có lẽ nó không thể tìm thấy các máy in? Nhưng dù sao thì nó cũng nên mở hộp chọn máy in. – azamsharp
Bạn đã thử mã từ cửa sổ bật lên chưa? Điều đó dường như là nguyên nhân gây ra vấn đề. – sglantz