我在index.html
上有一个“打印”按钮。打印print.html
文件需要哪些代码?我的意思是,当我从index.html
按下按钮时,打印页面print.html
。
答案 0 :(得分:2)
我认为你正在寻找window.print()
<强>更新强>
注意到您已在其中指定了文件名,并且当您点击print.html
上的按钮时,您想要打印index.html
。没有内置的方法来执行此操作(在某种意义上,您无法将任何参数传递给window.print()
指示要打印的文档)。您可以做的是加载文档以打印到iframe或打开一个新窗口并在加载时调用该容器上的window.print()
。
以下是一些讨论相同内容的论坛帖子和网页:
更新2
这里有一些快速而肮脏的代码 - 请注意,只有当您的两个页面都在同一个域中时,这才有效。此外,Firefox似乎也会为空{iframe'触发load
事件 - 因此即使没有为iframe设置src
值,打印对话框也会在加载时立即显示。
<强>的index.html 强>
<html>
<head>
<title>Index</title>
<script src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script>
$(document).ready(function(){
$('#loaderFrame').load(function(){
var w = (this.contentWindow || this.contentDocument.defaultView);
w.print();
});
$('#printerButton').click(function(){
$('#loaderFrame').attr('src', 'print.html');
});
});
</script>
<style>
#loaderFrame{
visibility: hidden;
height: 1px;
width: 1px;
}
</style>
</head>
<body>
<input type="button" id="printerButton" name="print" value="Print It" />
<iframe id="loaderFrame" ></iframe>
</body>
</html>
<强> print.html 强>
<html>
<head>
<title>To Print</title>
</head>
<body>
Lorem Ipsum - this is print.html
</body>
</html>
更新3
您可能还希望看到这一点:How do I print an IFrame from javascript in Safari/Chrome
答案 1 :(得分:1)
您可以使用JQuery printPage插件(https://github.com/posabsolute/jQuery-printPage-plugin)。这个插件工作正常,你可以简单地打印一个外部的HTML页面。
示例:
<html>
<head>
<title>Index</title>
<script src="http://www.position-absolute.com/creation/print/jquery.min.js" type="text/javascript"></script>
<script src="http://www.position-absolute.com/creation/print/jquery.printPage.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
$(".btnPrint").printPage();
});
</script>
</head>
<body>
<input type="button" id="printerButton" name="print" value="Print It" />
<p><a class="btnPrint" href='iframe.html'>Print!</a></p>
</body>
</html>
答案 2 :(得分:1)
onclick="printPage('print_url');"
然后使用
package main
import (
"encoding/xml"
"fmt"
"os"
)
func main() {
type Person struct {
Email string `xml:"email"`
Phone string `xml:"phone"`
}
type Host struct {
Hostname string `xml:"hostname"`
Address string `xml:"address"`
}
type Asset struct {
person Person
host Host
}
p := &Person{Email: "person@a.com", Phone: "1111"}
h := &Host{Hostname: "boxen", Address: "1 Place St"}
a := &Asset{person: *p, host: *h}
enc := xml.NewEncoder(os.Stdout)
enc.Indent(" ", " ")
if err := enc.Encode(p); err != nil {
fmt.Printf("error: %v\n", err)
}
if err := enc.Encode(h); err != nil {
fmt.Printf("error: %v\n", err)
}
if err := enc.Encode(a); err != nil {
fmt.Printf("error: %v\n", err)
}
}