 有饭
职务:普通成员
等级:2
金币:10.0
发贴:669
注册:2002/3/25 12:50:19
|
#12002/6/20 10:16:34
由于我的页面上用了层的滚动(手动),但我要做一个打印页面的功能,滚动的层里的内容是主要的,如果就简单的使用PRINT打印本页的话,只能打印当前页面上显示的内容。
我后来用了showModalDialog 传递层的innerHTML给网页对话框中的页面,效果还是不错,但是却只能传递4096 characters, longer strings are trusted。。 好气人啊,所以我想问还有别的办法吗?
我做了一个打印页的模版,放了表格,打印按钮,插入了CSS文件,只要能动态把层里的内容输出到这个网面相应的地方就好了!
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#22002/6/20 11:10:56
你是用的dialogArguments传递innerHTML吗?没听说过有4096 的限制啊。 你是怎么如何测试出来的? 试过直接open打印窗口然后用opener.div.innerHTML吗?
|
 有饭
职务:普通成员
等级:2
金币:10.0
发贴:669
注册:2002/3/25 12:50:19
|
#32002/6/20 13:53:20
我是用showModalDialog 传递当前页面中的一个层里面的内容 var xxxx=document.sDiv.innerHTML showModalDialog ("xxx.htm","xxxx"," ") 然后在xxx.htm中用了dialogArguments接收这个值,再document.write 竟然超过了4096后面的就被剪掉了, 我去了MSDN,上面是这么说的 If the vArguments parameter is defined as a string, the maximum string length that can be passed to the modal dialog box is 4096 characters; longer strings are truncated.
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#42002/6/20 14:21:02
哦,那你试过直接open打印窗口然后用opener.div.innerHTML吗?
|
 有饭
职务:普通成员
等级:2
金币:10.0
发贴:669
注册:2002/3/25 12:50:19
|
#52002/6/20 15:36:09
ridincal在上个帖子中说 引用: 哦,那你试过直接open打印窗口然后用opener.div.innerHTML吗?
直接OPEN打印窗口?? 然后再opener.div.innerHTML?? 不懂啊,怎么用的!
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#62002/6/20 15:40:44
你用showModelDialog打开的是什么页面?打印页的模版?
|
 有饭
职务:普通成员
等级:2
金币:10.0
发贴:669
注册:2002/3/25 12:50:19
|
#72002/6/20 15:45:09
页面A中我是这样做的:
页面B中是这样的:
undefined
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#82002/6/20 15:55:12
编辑历史:[这消息被ridincal编辑过(编辑时间2002-06-20 15:55:28)]
|
 有饭
职务:普通成员
等级:2
金币:10.0
发贴:669
注册:2002/3/25 12:50:19
|
#92002/6/20 16:49:59
页面A中 content变量根本没有用到啊 页面B中 window.dialogArguments怎么会接收到内容呢? 我试过了,打开的窗口显示一个undefined
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#102002/6/20 16:55:13
ridincal在上个帖子中说 引用: 页面A:
页面B中:
试试看。
|
 有饭
职务:普通成员
等级:2
金币:10.0
发贴:669
注册:2002/3/25 12:50:19
|
#112002/6/20 16:59:34
还是一样啊! 不是可以用writeln往一个window.open的新窗口里写入内容吗? 用到这个应该可以吧!
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#122002/6/20 17:03:38
B中无var content = window.dialogArguments;这句,我刚才试了试: A页面:
A
jkasdjfldjaslf;jdalkfjlk;djflkjflkasjf
B页面: 没问题,但长度我没有试。
|
 有饭
职务:普通成员
等级:2
金币:10.0
发贴:669
注册:2002/3/25 12:50:19
|
#132002/6/20 17:10:45
你的这个和上面那个不是一样吗? content = parent.mainFrame.document.t.content.innerHTML window.open sUrl,"","width=485;height=480"
我的页面是一个框架,TopFrame和mainFrame ,在mianFrame里面有一个Iframe 名字是t ,t的页面中有一个名为content的DIV 对象名我也对了,值也能附到content里去,可是显示的结果却是个undefined
|
 有饭
职务:普通成员
等级:2
金币:10.0
发贴:669
注册:2002/3/25 12:50:19
|
#142002/6/20 17:12:44
对不起,可能是因为我A页面用的是VBS,而B页面用的JS的原因! 但是我用JS不会写这几句! sUrl=parent.mainFrame.locations Url=left(sUrl,InStrRev(sUrl,"/")) sUrl=sUrl+"print.htm" 指教一下!
|
 =ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
|
#152002/6/20 19:33:11
var sUrl=parent.mainFrame.locations; sUrl=sUrl.substring(0,sUrl.indexOf("/"); sUrl+="print.htm";
|