javascript - 如何使用javascript打开另一个html页面


<td><a style="color:black;" onClick="openCompiler()">C++ Compiler</a></td>



单击链接时,我触发了事件调用openCompiler()


function openCompiler()


{


 window.open("mypage.html")


 document.getElementById(compiler).style.display="block";


}



1.

document.getElementById(compiler).style.display="block";正在当前页中查找名为compiler的元素。

1)一种使用javascript打开另一个html页面的方法。

2)从初始页(有table的那个)中设置新页上元素的样式的方法。

时间:

这不能像你设计的那样工作,根据定义,在新窗口中加载新文档是异步的,请参见这里https://developer.mozilla.org/en-US/docs/Web/API/Window.open

你还可以从源窗口中创建文档,如下所示:


newWindow = window.open("","Compiler","" );


doc = newWindow.document;


doc.open("text/html","replace");


doc.writeln('<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">');


doc.writeln("<html>");


doc.writeln("<head>");


....


doc.writeln("</html>");


doc.close();



原作者:

放弃window.open

创建iframe :


var compiler = document.createElement('iframe');


compiler.src ="mypage.html";


compiler.id ="compiler";



把它放在你想要的位置:


document.getElementById("compilercontainer").appendChild(compiler);



改变它:


compiler = document.getElementById("compiler");


var comdoc = compiler.contentWindow.document;


var style = comdoc.createElement('style');


style.innerHTML =".foo {color:orange}";


comdoc.head.appendChild(style);



这可以通过JQuery变得更整洁,但是没有标记(我个人更了解纯JS DOM操作),

...