2012-08-22 118 views
0

我有一個代碼高亮區塊,我希望有一個選項,您可以點擊一個按鈕並打開一個新的HTML頁面,在其中顯示「原始「內容的亮點。我已經準備好了原始格式的代碼和用target =「_ blank」準備的鏈接,但是我似乎無法讓它打開一個新頁面。target =「_ blank」with a custom javascript-generated html page

這是我的HTML看起來像:

<a href="#" target="_blank">Click to view HTML</a> 

這是我的javascript

//when clicked 
link.href = 'javascript:document.write("...");'; 
//the click event should continue as normal 

這應該開闢了新的一頁「......」爲內容,但它不起作用(它只是打開了現有的頁面)。

無論如何不使用彈出窗口來做到這一點?

+0

如果做這個服務器端是可能的話,我會選擇這個和'target =「_ blank」'選項。 – alf

回答

6
function writeToWindow(content) { 
    var newWin = window.open('','newWin','width=300,height=200'); 
    newWin.document.open(); 
    newWin.document.writeln("<html><head><title>Console</title></head><body>" + content + "</body></html>"); 
    newWin.document.close(); 
} 

調用它

onclick="writeToWindow('text to display');" 
+0

如果你忽略了尺寸,只是把window.open(''),它會打開它作爲一個新的頁面/選項卡。 – matsko

1

你必須使用一個新的窗口?我認爲更容易使用一個圖層。

<div id="toggleText" style="border:solid black 1px; display:none;height:100px;width:100px"> 
<span id="displayText"></span> 
</div> 


<script language="javascript"> 
func tion toggle() { 
    var ele = document.getElementById("toggleText"); 
    var text = document.getElementById("displayText"); 
    if(ele.style.display == "block") { 
      ele.style.display = "none"; 
     text.innerHTML = "show"; 
    } 
    else { 
     ele.style.display = "block"; 
     text.innerHTML = "hide"; 
    } 
} 
    </script> 
相關問題