我想打印我网页的特定部分,其中包含谷歌地图和一些指向某个位置的标记。
问题是我的 javascript 函数只打印谷歌地图而不是标记。但是当我使用 Ctrl+P 打印时,它会使用谷歌地图和标记打印整个页面。
我正在使用 chrome 和 firefox 浏览器。
谁能告诉我是什么问题。为什么我的功能不是打印标记。任何帮助,将不胜感激。
function printDiv(firstDivId, secondDivId, thirdDivId)
{
/* Creating iframe for printing */
ifrm = document.createElement("IFRAME");
ifrm.setAttribute("name", "print_frame");
ifrm.setAttribute("id", "print_frame_id");
ifrm.setAttribute("src", "#");
ifrm.setAttribute("frameborder", 0);
ifrm.style.width = 0 + "px";
ifrm.style.height = 0 + "px";
document.body.appendChild(ifrm);
/* Creating printableDiv for gethering content divs */
printableDiv = document.createElement("div");
printableDiv.setAttribute("id", "printableDivId");
document.body.appendChild(printableDiv);
/* Creating printableDiv for chart title css */
var titleDiv = document.createElement("div");
titleDiv.setAttribute("id", "titleDiv");
titleDiv.setAttribute("style",
"width:96%;text-align:center;background-color:rgb(255, 238, 182);border-top: 1px solid orange;border-bottom: 1px solid orange;font-size: 16px;font-family: Calibri;border-right: 0px;border-left: 0px;margin-left: 18px;font-weight: bold;");
document.getElementById("printableDivId").appendChild(titleDiv);
document.getElementById("titleDiv").innerHTML = $("#" + firstDivId).html();
$("#" + secondDivId).clone().appendTo("#printableDivId"); **This second div contains the google maps.**
if (thirdDivId != '') {
$("#" + thirdDivId).clone().appendTo("#printableDivId");
}
// For Landscape style
var styleStr = '<style type="text/css" media="print"> @media print{@page {size: landscape}} </style>';
// With Landscape, It is working in chrome not in firefox.
var printingContent = styleStr+ document.getElementById("printableDivId").innerHTML;
// Without Landscape
// var printingContent=document.getElementById("printableDivId").innerHTML;
window.frames["print_frame"].document.body.innerHTML = printingContent;
window.frames["print_frame"].window.focus();
window.frames["print_frame"].window.print();
/* Removing printableDiv and iframe for next time printing */
$("#printableDivId").remove();
$("#print_frame_id").remove();
}