我正在尝试创建一个按钮,用于打印嵌入在网页上的Google地图
见代码:
function print(){
var contents = window.opener.document.getElementById("map_canvas");
document.write(contents.innerHTML);
window.print();
}
这是包含我的地图的div
<div id="map_canvas" style="width:800px; height:500px;"></div>
这是打印按钮
<input type="button" value="Print" onclick="print()">
当我单击打印按钮时,出现错误“window.opener为null”。 打印地图的正确代码是什么?
答案 0 :(得分:0)
window.opener返回对创建窗口的窗口的引用。由于您没有创建任何新窗口,因此此处不需要window.opener。
直接使用window.document.getElementById。
试试这个:
function print(){
var contents = window.document.getElementById("map_canvas");
document.write(contents.innerHTML);
window.print();
}
答案 1 :(得分:0)
var content = window.document.getElementById("map-canvas"); // get you map details
var newWindow = window.open(); // open a new window
newWindow.document.write(content.innerHTML); // write the map into the new window
newWindow.print(); // print the new window
答案 2 :(得分:-1)
检查主窗口上包含地图的DIV是否具有id =“map_canvas”的div