2012-12-10 15 views
-1

我在我的網站上有一個報告系統,我想要這樣做。發送帶進程欄的Ajax,我的服務器端將收集所需的數據,將它們轉換爲html格式,然後發回給我,關於ajax成功,我想關閉procccess欄並在新瀏覽器選項卡中打開我的響應數據。可能嗎?如果是的話,請給我建議,我該怎麼做?我感興趣的是最後一步,當數據已經收集並存儲在我的javascript var中時,我只需要在新選項卡中表示它。在新選項卡中打開收集的html

我忘記像PDF文件關於一個細微的報表輸出不喜歡HTML =)

+2

你是什麼意思的新「標籤」?你的意思是新的瀏覽器選項卡?或者像UI選項卡一樣在jQuery UI選項卡中? – Ian

+0

我的意思是,新的瀏覽器選項卡。 –

+0

你可以試試'var w = window.open(「」,「」); w.document.open(); w.write(YOUR_DATA); w.document.close();'或類似的東西......但是你將無法控制這是否在窗口或標籤中打開。雖然這不會自動擁有主頁所做的資源(如CSS樣式表和Javascript文件) – Ian

回答

2

所有你需要做的是一個

window.open(url, window name, attributes...) 

標籤是由瀏覽器管理,並根據用戶的設置,您的通話將打開一個新標籤或一個新窗口的URL;通常在一個新標籤中。

var newWindow = window.open("","","status"); 

function fillNewWindow() { 
    // newWindow.focus() 
    var newContent = "<HTML><HEAD><TITLE>A New Doc</TITLE></HEAD>"; 
    newContent += "<BODY><H1>This document is brand new.</H1>"; 
    newContent += "</BODY></HTML>""; 
    newWindow.document.write(newContent); 
    newWindow.document.close(); 
} 
0

嗯,這是不可能控制,如果該頁面將在標籤VS新窗口中owpened,但通常在現代瀏覽器window.open(url, page_title);將在新選項卡中打開。

一旦您向window.open發送第三個參數,如'width=850,height=625',它將在新窗口中打開。