2009-09-17 15 views
4

我想打開一個新窗口並將原始頁面中的一些HTML移至新窗口。什麼是最簡單的方法來做到這一點?將HTML從當前頁面放入新窗口

喜歡的東西:

$("div#foo").click(function(){ 
     var copyHTML = $("table.bar").html(); 
     window.open(''); // somehow put copyHTML in the new window 
}); 
+0

經過進一步審查,這似乎是一個更好的選擇是在當前頁面上操作HTML,而不是嘗試將選擇複製到新窗口。 – Matthew 2009-09-17 16:48:44

回答

2

嘗試以下操作:

$("div#foo").click 
(
    function() 
    { 
    var copyHTML = $("table.bar").html(); 
    var newWindow = window.open(''); 
    newWindow.document.body.innerHTML = copyHTML; 
    } 
); 

這將在某些情況下工作,比下一個方法更容易。

如果您從瀏覽器中收到安全警告,下一種方法可能會更令人滿意。所謂的getContent父頁面中添加功能,例如:

function getContent() 
{ 
    return $("table.bar").html(); 
} 

...並在子窗口的document.ready請執行以下操作:

$(document).ready 
(
    function() 
    { 
    var parentContent = window.opener.getContent(); 
    $("body").html(parentContent); 
    } 
); 
+0

刪除了我的答案,因爲這個答案非常正確。我甚至不知道你可以訪問像「開瓶器」 – idrumgood 2009-09-17 16:53:12

+0

它是整潔的,不是嗎? – 2009-09-17 17:11:05

+0

更優雅的是http://stackoverflow.com/questions/1225558/jquery-new-window-with-content-from-modal-content-on-opener-page這將避免安全警告,而不需要JavaScript在子窗口中 – 2011-11-21 04:56:01