【问题标题】:target="_blank" with a custom javascript-generated html pagetarget="_blank" 带有自定义 javascript 生成的 html 页面
【发布时间】:2012-08-18 02:15:49
【问题描述】:

我有一个代码高亮块,我希望有一个选项,您单击一个按钮会打开一个新的 HTML 页面,在其中显示高亮的“原始”内容。我已经准备好原始格式的代码和使用 target="_blank" 准备的链接,但我似乎无法打开一个新页面。

这是我的 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

这应该会打开一个以“...”为内容的新页面,但它不起作用(它只是打开现有页面)。

有没有办法在不使用弹出窗口的情况下做到这一点?

【问题讨论】:

  • 如果可以在服务器端执行此操作,我会选择 target="_blank" 选项。

标签: javascript html


【解决方案1】:
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');"

【讨论】:

  • 如果您省略尺寸并只输入 window.open('') ,那么它将作为新页面/标签打开。
【解决方案2】:

您必须使用新窗口吗?我认为使用图层更容易。

<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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-27
    • 2011-01-07
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多