【求助】梅花雨进来帮帮忙,下面代码在firefox中怎么写才能执行?

ldw701 2007-04-19 12:08:11
<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下,打开的新页面内容是空的!
...全文
336 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
excellent_biti 2007-04-21
  • 打赏
  • 举报
回复
新建一个文件1.html,在同一个目录下的另一个文件里面写入以下代码:
<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>
pyuan 2007-04-20
  • 打赏
  • 举报
回复
在FF下这的确不好处理,你不太好通过var OpenWindow = window.open("about:blank");
这个OpenWindow来控制新窗口呢
我觉得大概是打开新窗口需要时间,而执行完这条语句后就接着执行OpenWindow.document.body.innerHTML=prnhtml;这条了,而新窗口还没有初始化好,所以就无效吧
一般这种情况在FF下我都是在新窗口中调用window.opener来获取父窗口里的值,再进行处理
hbhbhbhbhb1021 2007-04-19
  • 打赏
  • 举报
回复
你可以变通下,
父页面
<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()>
adverse 2007-04-19
  • 打赏
  • 举报
回复
OpenWindow.document.write("<html><head></head><body></body></html>");
就是把body标签先写里面,然后再访问对象。没有ff,所以我也没试。
ldw701 2007-04-19
  • 打赏
  • 举报
回复
???????????
adverse 2007-04-19
  • 打赏
  • 举报
回复
var OpenWindow = window.open("about:blank");
OpenWindow.document.write("<html><head></head><body></body></html>");
OpenWindow.document.body.innerHTML=prnhtml;
这样写看看

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧