2011-03-06 175 views
1

我實際上是在使用JQueryUI Dialog plugin向我的網站的用戶顯示一些信息。這個對話框的內容可以打印,所以我需要打開一個打印對話框(從瀏覽器),當我點擊一個按鈕。無法在Google Chrome上使用JQueryUI對話框打開「打印對話框」

我創建這個對話是這樣的(這只是一個例子,我修改的內容和大小):

var box = $('<div id="print-dialog" title="Print map">blablabla....</div>'); 
box.dialog({ 
    width: 100, 
    height: 100, 
    modal: true, 
    draggable: false, 
    resizable: false, 
    close: function(event,ui){ 
     $('#print-dialog').remove(); 
    }, 
    buttons: { 
     "Print this!": function(){ 
      window.print(); 
     } 
    } 
}); 

但是當我點擊「打印」按鈕,沒有任何反應。我在Firefox和IE上試過同樣的例子,並且工作正常。

你可以嘗試在JSBin執行我的代碼就在這裏:http://jsbin.com/osoro3

我需要做什麼?難道我做錯了什麼?謝謝!

+0

我剛剛在提供的鏈接中使用了我的Chrome版本,並彈出了打印對話框。我正在使用Chrome 9.0.597.107 – Avitus

+0

@Avitus我的Chrome版本是11.0.686.3 dev。不要因爲我的Chrome版本而工作? –

回答

3

這在最新的Chrome Beta版本10.0.648.127中正常工作。我認爲你只是在Chrome Canary Build中感受到奇怪。請記住,金絲雀版本是released without any testing to ensure that it actually works,因此是「非常不穩定的瀏覽器,通常會完全崩潰」。

在這種情況下,相同的代碼似乎工作一旦粘貼在JSFiddle並在Chrome 11.0.691.0中查看。第一次單擊按鈕時,會顯示打印對話框,但如果取消它並再次單擊該按鈕,則不會發生任何情況。 (這似乎也是一個Chrome bug –同樣的事情發生在this very vanilla test。)

底線:鑑於錯誤的可能性很高(像這樣),我不會針對Chrome Canary Build開發任何東西。我建議堅持使用Beta channel進行實際開發工作,如果您想試用尚未投入Beta版頻道的新功能,則只能使用Canary Build。

+0

謝謝;這個解釋是我需要的:) –