2012-09-28 49 views
2

我試圖通過JavaScript打印橫向格式的頁面。我在Landscape printing from HTML找到了一些解決方案,但那些不符合我的需要。通過javascript設置頁面風景

該CSS片段@media print{@page {size: landscape}}工作正常,但我不知道如何使它從JavaScript/jQuery的工作。我試圖通過JavaScript做到這一點的原因是因爲我想要2個按鈕進行打印。一個正常的打印按鈕,它將打印顯示的內容,第二個按鈕可以稍微改變頁面並打印橫向模式。

所以簡而言之:我想改變頁面的方向(或者CSS中調用的大小)在javascript中橫向旋轉,但是javascript旋轉不會執行,因爲它也會旋轉頁面上的文本。有沒有辦法實現我想要做的事情,而無需使用不同的佈局/ CSS製作單獨的頁面?

在此先感謝。

回答

4

您可以將另一個樣式表,規則和動態添加它點擊:

$("#printLandscape").on('click',function() { 
    $('head').append('<link href="printLandscape.css" title="printLandscape" rel="stylesheet" />'); 
}); 

我假設你的「橫向模式打印」按鈕有一個printLandscape ID。

現在,可以肯定的是,用戶可以在正常模式下打印甚至後的按鈕被點擊的第一次,你可以添加其它監聽到「打印正常模式」按鈕:

$("#printNormal").on('click',function() { 
    $('link[title="printLandscape"]').attr('disabled', 'disabled').remove(); 
}); 

要做到這一點,你必須設置一個title的景觀樣式表(在這種情況下,我把它叫做printLandscape