culturenet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
       今天有一个同事问我,一个ppt文件另存为网页的mht文件怎么来更改它,使它打开的时候不显示左侧的大纲。要是能把大纲那个按钮去掉,就更好了。于是就进行了一番探究。首先用文本编辑器打开Mht文件,发现里面的代码多是html代码和一些其他的编码组成。于是就满口答应同事,说是保证能改。等我忙完了手头的活就帮他你弄。

      等忙完了手头的活,开始着手解决这个问题。用浏览器打开这个文件,然后用 microsoft script debugger 设置断点进行调试。经过10多分钟的跟踪和测试。终于发现了解决问题的方法和途径。在ppt另存为mht文件的代码中。有如下的代码:

------=_NextPart_01C66948.2D444B10
Content-Location: file:///C:/6D3D4E51/030529211.files/frame.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="us-ascii"
此代码段下面的内容就是这个网页的框架及页面。于是就把左侧的那个frame隐藏掉。
把如下代码中的

 <frameset cols=3D"25%,*" onload=3D"Load()" id=3DPPTHorizAdjust framespacin=
g=3D1 frameborder=3D1>

改为:
<frameset cols=3D"0%,*" onload=3D"Load()" id=3DPPTHorizAdjust framespacin=
g=3D1 frameborder=3D1>
<frameset rows=3D"*,25" border=3D0>
 
<frameset cols=3D"25%,*" onload=3D"Load()" id=3DPPTHorizAdjust framespacin=
g=3D1 
frameborder=3D1>
  
<frame src=3Doutline.htm title=3D"大纲" name=3DPPTOtl>
  
<frame src=3Dslide0002.htm title=3D"幻灯片" name=3DPPTS=
ld>
 
</frameset>
 
<frameset cols=3D"25%,*" framespacing=3D1>
  
<frame src=3Doutline.htm title=3D"大纲导航栏=
;" name=3DPPTOtlNav scrolling=3Dno noresize>
  
<frame src=3Doutline.htm title=3D"幻灯片导航=
;栏" name=3DPPTNav scrolling=3Dno noresize>
 
</frameset>
</frameset>
</html>
ok!达到了隐藏左侧大纲显示的效果。但是点几下大纲按钮,又显示出来了。看来还得继续,把大纲按钮也隐藏掉!
这个也比较简单了,跟踪几下,就找到了地方。
在mht文件中有如下代码:
Content-Location: file:///C:/6D3D4E51/030529211.files/outline.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="us-ascii"
此代码下面有这个一个函数:
function LoadNav( oId,UpdFunc )
{
    document.ondragstart=3DCancelDrag
    document.onselectstart=3DCancelDrag
    document.body.style.margin=3D2
    UpdFunc()
    obj=3Ddocument.all.item(oId)
    obj.style.display=3D"block"
    obj.style.visibility=3D"visible"
    document.bgColor=3D"threedface"

    if( parent.frames["PPTNts"] )
        notesBtn.style.display =3D ""
    if( parent.gHasNarration )
        nb_voiceBorder.style.display =3D ""
}
把其中红色的 visible改为hidden 即可。测试。正如要求的效果。ok。完工。
posted on 2006-04-26 16:38  culturenet  阅读(3092)  评论(0编辑  收藏  举报