目前,我编写了这样的代码 -
chatWindow = window.open("chatWindow.html", "Chat Window",
resizable=0,width=700,height=600);
var currentUserElement = chatWindow.document.createElement("currentUserElement");
currentUserElement.setAttribute("id", "currentUserElement");
currentUserElement.setAttribute("value",currentUserName);
但是,有没有办法在调用window.open()之前先创建createElement()部分?
答案 0 :(得分:3)
我唯一能看到你如何才能在客户端上使用blob的方法。 HTML:
<input type="text" id="textId"></input>
<button id="buttonId">Open new Window</button>
和JS:
var button = $("#buttonId");
button.click(function () {
var text = $("#textId").val();
var html = "<html>"
html += "<head><title>Window: " + text + "</title></head>";
html += "<body onLoad='javascript:alert(\"" + text + "\")'>";
html += text
html += "</body></html>";
var blob = new Blob([html], {type: 'text/html'});
window.open(window.URL.createObjectURL(blob));
});
我创建了一个jsfiddle来说明这种方法。正如您所看到的,JS也将被执行。关于使用这种技术的html5rocks上的屏幕共享有一个有趣的article。