2011-01-11 119 views
3

在新選項卡或窗口中打開文檔片段有哪些選項?哪些瀏覽器兼容性最好,哪些最適合用戶?如何在新選項卡中打開文檔片段

var frag = document.createDocumentFragment(); 
var div = $("<div>").addClass("Printable"); 
div[0].innerHTML = doc.body.innerHTML; 
frag.appendChild(div[0]); 
openIt(frag); // How to implement openIt 

該片段包含準備打印的頁面的重新格式化子集。

最好我想它通過某種<link><a>自然張開,看起來像任何其他用戶友好的HTML鏈接,而不是悄悄地打開了通過window.open一個惱人的彈出窗口。

回答

2

你不能可靠地做到這一點沒有window.open()即使如此,你需要在上創建document的片段,而不是當前的(因爲有些瀏覽器不允許交叉追加元素,它看起來像這樣:

var win = window.open("","myWindow","...options..."); 
var frag = win.document.createDocumentFragment(); 
var div = win.document.createElement("div"); 
div.className = "Printable"; 
div.innerHTML = doc.body.innerHTML; 
frag.appendChild(div); 

You can test out a demo here

1

試試這個。 window.open('data:text/html;charset=utf-8,text%20to%20show');

編輯:

這是基本的... 這應該滿足您的需求:

var text = "<div class='Printable'>" + $("body").html() + "</div>"; 
window.open('data:text/html;charset=utf-8,'+text); 
+0

這絕對沒有提及文檔片段。 – Raynos 2011-01-11 10:36:58

+0

我認爲他的意思是文檔片段文本是'text to show`參數。 – rahul 2011-01-11 10:37:50

相關問題