<script language="javascript" type="text/javascript">
function Print()
{
var Bdhtml=window.document.body.innerHTML;
var sprnstr="<!--startpint-->";
var eprnst="<!--endprint-->";
var start=Bdhtml.indexOf(sprnstr)+17;
var end = Bdhtml.indexOf(eprnst);
var prnhtml=Bdhtml.substring(start,end);
var OpenWindow = window.open("about:blank");
OpenWindow.document.body.innerHTML=prnhtml;
OpenWindow.print();
}
</script>就是这一句:OpenWindow.document.body.innerHTML=prnhtml;
在firefox下面不起作用。。
我的用意是在原页面获取一段文字,付给新打开的窗口,然后在新窗口中打印这些文字,在ie下这段代码没问题,但是在firefox下,打开的新页面内容是空的!
function Print()
{
var Bdhtml=window.document.body.innerHTML;
var sprnstr="<!--startpint-->";
var eprnst="<!--endprint-->";
var start=Bdhtml.indexOf(sprnstr)+17;
var end = Bdhtml.indexOf(eprnst);
var prnhtml=Bdhtml.substring(start,end);
var OpenWindow = window.open("about:blank");
OpenWindow.document.body.innerHTML=prnhtml;
OpenWindow.print();
}
</script>就是这一句:OpenWindow.document.body.innerHTML=prnhtml;
在firefox下面不起作用。。
我的用意是在原页面获取一段文字,付给新打开的窗口,然后在新窗口中打印这些文字,在ie下这段代码没问题,但是在firefox下,打开的新页面内容是空的!
OpenWindow.document.write("<html><head></head><body></body></html>");
OpenWindow.document.body.innerHTML=prnhtml;
这样写看看
就是把body标签先写里面,然后再访问对象。没有ff,所以我也没试。
父页面
<script language="javascript" type="text/javascript">
function print1()
{
var OpenWindow = window.open("1.htm","","modal=yes");
}
</script>
<body onload="print1()">
<!--startpint-->sdfsdfsdfsdfsdfsddddddddddddddddddddddddddd
<!--endprint-->
子页面
<script language=javascript>
function show(){
var Bdhtml=opener.document.documentElement.innerHTML;
alert(Bdhtml)
var sprnstr="<!--startpint-->";
var eprnst="<!--endprint-->";
var start=Bdhtml.indexOf(sprnstr)+17;
var end = Bdhtml.indexOf(eprnst);
var prnhtml=Bdhtml.substring(start,end);
document.documentElement.innerHTML=prnhtml
}
</script>
<body onload=show()>
这个OpenWindow来控制新窗口呢
我觉得大概是打开新窗口需要时间,而执行完这条语句后就接着执行OpenWindow.document.body.innerHTML=prnhtml;这条了,而新窗口还没有初始化好,所以就无效吧
一般这种情况在FF下我都是在新窗口中调用window.opener来获取父窗口里的值,再进行处理
<script>
var str = "父窗口的内容";
var openWin = window.open('1.html');
openWin.document.write("<html><head><title>测试一下</title></head><body>");
openWin.document.write(str);
openWin.document.write("<body>");
</script>