Fancybox が開いているときに、ユーザーが Fancybox の内容を印刷できるようにしようとしています。Fancybox のコンテンツは、独自の div 内にある Google マップの directionPanel です。基本的には、ユーザーが検索を終えた道順を印刷できるようにしたいと考えています。
ただし、Fancybox が開いていない場合、つまり、マップを含むページのコンテンツを見ている場合。ユーザーがページを印刷できるようにしたい。
CSS を使用して、コードのセクションを「印刷可能」および「印刷不可」として作成しようとしましたが、明らかにこれは私の目的に反します。
これが私の現在のコードです:
<style type="text/css">
-->#printable { display: none; }
@media print
{
-->#non-printable { display: none; }
-->#printable { display: block; }
body * { visibility: hidden; }
#directionsPanel * { visibility: visible; }
#directionsPanel { position: absolute; top: 1px; left: 1px; }
}
</style>
</head>
<body onLoad="initialize()">
<table>
<tr>
<td>
<input name="start_address" id="address" type="text" value="Enter Address" onFocus="doClear(this)" size="45"/>
</td>
</tr>
<tr align="center">
<td align="center">
<a id="portDirectionBtn" class="fancybox" href="#directionsPanel" onClick="calcRoute();">Get Directions</a>
</td>
</tr>
<div id="map_canvas" style="width:300px; height:300px">
</div>
<div id="printable">
<div id="directionsPanel">
<a href="javascript:window.print();">Print!</a><br />
</div>
</div>
</table>
</body>
</html>
さらに、明らかに Fancybox と Google マップのスクリプトも含まれています。そのコードが役立つ場合は、お知らせください。どんな助けでも大歓迎です!