2010-08-21 80 views
9

我有一個使用protovis創建圖表的div。 div有width: 100%height: 100%,創建圖表的代碼使用$('#chart').width()$('#chart').height()在呈現時獲取div的大小,並用圖表填充頁面。我在窗口捕獲resize事件並調整div和圖表,以便在窗口調整大小時調整它。打印時觸發調整大小事件

現在我需要打印。我希望當瀏覽器呈現打印機的頁面時,它會發出一個調整大小,但它不會,至少Safari和Firefox不會。 Chrome會做一些奇怪的事情,只調整高度而不調整寬度。打印前是否有辦法觸發這種行爲?

編輯。考慮以下html

<html> 
    <head> 
    <title>Resize</title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
     $('#chart').resize(function() { 
      $(this).html('chart size is ' + $('#chart').width() + ' x ' + $('#chart').height()); 
     })   
     }); 
     $(window).resize(function() { 
     $('.resizable').resize(); 
     }); 
    </script> 
    <style type="text/css"> 
     #chart { width: 100%; height: 100%; background: gray; border: 1px solid black;} 
    </style> 
    </head> 
    <body> 

    <div id="chart" class="resizable"> 
    </div> 

    </body> 
</html>   

當我調整窗口的div的內容改變。當我打印它時,渲染過程不會觸發resize事件。

+1

打印支持的瀏覽器(無論是在什麼獲取印刷方面,使印刷發生的過程)是普遍薄弱的最好的。我很想看看有沒有人提出一個很好的訣竅,但我懷疑你想要的通常是可能的。 – Pointy 2010-08-21 17:27:44

+0

在這個問題上一直沒有找到任何網上的東西。我可能不得不調整窗口的大小,然後打印頁面。 – rmarimon 2010-08-21 17:46:04

+0

你試過這個嗎? pixelpalast 2018-02-12 21:53:13

回答

0

也許

<style type="text/css"> 
     #chart { width: 100%; height: 100%; background: gray; border: 1px solid black;} 
</style> 

<style type="text/css" media="print"> 
     #chart { width: 100%; height: 98%; background: gray; border: 1px solid black;} 
</style> 
+0

我花了很長時間去檢查,但一般不起作用。它僅適用於鉻合金,並且不會改變高度或寬度。 – rmarimon 2010-08-31 23:59:39

+0

downvoted,因爲這沒有回答問題(如何觸發'resize'事件) – adamdport 2017-08-07 15:38:15

+0

@adamdport啊你的意思是回答X/Y問題的建議,回答底層問題應該downvote?那麼至少你打擾評論投票... – mplungjan 2017-08-07 15:46:26

相關問題