2012-10-17 242 views
0

我想讓用戶能夠在Fancybox打開時打印Fancybox的內容。 Fancybox的內容是Google地圖方向面板,位於其自己的div內。基本上我想讓用戶能夠打印他們剛剛完成搜索的方向。在打開Fancybox時打印內容,在關閉時打印頁面內容

但是,當Fancybox沒有打開,即他們正在查看包含Map的頁面內容時。我希望用戶有能力打印頁面。

我已經嘗試過使用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和谷歌地圖的腳本。如果該代碼有幫助,請讓我知道。任何幫助表示讚賞!

+0

您檢查了http://stackoverflow.com/a/11739627/1055987? – JFK

回答

0

在iframe中打開fancybox並從其中調用打印件。由於它位於iframe中,所以打印命令將只能看到它並因此將其打印出來。如果fancybox已關閉,則可以從另一個按鈕(外部iframe)呼叫打印整個頁面