📄 script.js
字号:
var vfHaveLoaded=false;
function LoadSld()
{
var sld=GetObj("SlideObj")
if( !g_supportsPPTHTML ) {
sld.style.visibility="visible"
return
}
if( MakeNotesVis() ) return
runAnimations = _InitAnimations();
if( IsWin("PPTSld") )
SldUpdated(GetSldId())
g_origSz=parseInt(SlideObj.style.fontSize)
g_origH=sld.style.posHeight
g_origW=sld.style.posWidth
g_scaleHyperlinks=(document.all.tags("AREA").length>0)
if( g_scaleHyperlinks )
InitHLinkArray()
if( g_scaleInFrame||(IsWin("PPTSld") && IsFullScrMode() ) )
document.body.scroll="no"
vfHaveLoaded=true;
_RSW()
if( IsWin("PPTSld") && IsFullScrMode() )
FullScrInit();
MakeSldVis();
ChkAutoAdv()
if( runAnimations )
{
if( document.all("NSPlay") )
document.all("NSPlay").autoStart = false;
if( sld.filters && sld.filters.revealtrans )
setTimeout( "document.body.start()", sld.filters.revealtrans.duration * 1000 );
else
document.body.start();
}
}
function MakeSldVis()
{
var fTrans=g_showAnimation && SldHasTrans()
if( fTrans )
{
if( g_bgSound ) {
idx=g_bgSound.indexOf(",");
pptSound.src=g_bgSound.substr( 0, idx );
pptSound.loop= -(parseInt(g_bgSound.substr(idx+1)));
}
SlideObj.filters.revealtrans.Apply()
}
SlideObj.style.visibility="visible"
if( fTrans )
SlideObj.filters.revealtrans.Play()
}
function MakeNotesVis()
{
if( !IsNts() ) return false
SlideObj.style.display="none"
nObj = document.all.item("NotesObj")
SetHasNts(0)
if( nObj ) {
nObj.style.display=""
SetHasNts(1)
}
return 1
}
function ChkAutoAdv()
{
if(SldHasTrans())
SlideObj.onfilterchange=AutoAdv
else
AutoAdv()
}
function AutoAdv()
{
if(!IsWin("PPTSld") || !gUseSldTimings )return
var sld=GetCurSld()
if( (sld.mAdvDelay>0) && !IsFramesMode() )
setTimeout("GoToNextSld()",sld.mAdvDelay)
}
function GetObj(id)
{
if(g_supportsPPTHTML) return document.all(id);
else return document.getElementById(id);
}
function SldHasTrans() { return SlideObj.style.filter != ""; }
function GetSldId() { return sId=location.href.substring(location.href.lastIndexOf('/')+1) }
function HideMenu() { if( frames["PPTSld"] && PPTSld.document.all.item("ctxtmenu") && PPTSld.ctxtmenu.style.display!="none" ) { PPTSld.ctxtmenu.style.display='none'; return true } return false }
function IsWin( name ) { return window.name == name }
function IsNts() { return IsWin("PPTNts") }
function IsSldOrNts() { return( IsWin("PPTSld")||IsWin("PPTNts") ) }
function SupportsPPTAnimation() { return( navigator.platform == "Win32" && navigator.appVersion.indexOf("Windows")>0 ) }
function SupportsPPTHTML()
{
var appVer=navigator.appVersion, msie=appVer.indexOf("MSIE "), ver=0
if( msie >= 0 )
ver=parseFloat( appVer.substring( msie+5, appVer.indexOf(";",msie) ) )
else
ver=parseInt(appVer)
return( ver >= 4 && msie >= 0 )
}
function _RSW()
{
if (!vfHaveLoaded) return;
if( !g_supportsPPTHTML || IsNts() ||
( !g_scaleInFrame && (!IsWin("PPTSld") || !IsFullScrMode()) ) )
return
var padding=0;
if( IsWin("PPTSld") && IsFramesMode() ) padding=6
cltWidth=document.body.clientWidth-padding
cltHeight=document.body.clientHeight-padding
factor=(1.0*cltWidth)/g_origW
if( cltHeight < g_origH*factor )
factor=(1.0*cltHeight)/g_origH
newSize = g_origSz * factor
if( newSize < 1 ) newSize=1
s=SlideObj.style
s.fontSize=newSize+"px"
s.posWidth=g_origW*factor
s.posHeight=g_origH*factor
s.posLeft=(cltWidth-s.posWidth+padding)/2
s.posTop=(cltHeight-s.posHeight+padding)/2
if( g_scaleHyperlinks )
ScaleHyperlinks( factor )
}
function _InitAnimations()
{
animRuntimeInstalled = ''+document.body.localTime != 'undefined';
isFullScreen = (window.name == "PPTSld") && !IsFramesMode();
g_animUseRuntime = g_showAnimation && animRuntimeInstalled && !(isFullScreen && IsSldVisited());
if( g_animUseRuntime ) {
collSeq = document.all.tags("seq");
if( collSeq != null ) {
for(ii=0;ii<collSeq.length;ii++) {
if( collSeq[ii].getAttribute( "p:nodeType" ) == "mainSeq" ) {
g_animMainSequence = collSeq[ii];
break;
}
}
}
if( g_animItemsToHide && document.body.playAnimations != false ) {
for(jj = 0; jj < g_animItemsToHide.length; jj++) {
if( hideObj = GetObj(g_animItemsToHide[jj]) )
hideObj.runtimeStyle.visibility="hidden";
}
}
if( g_animInteractiveItems ){
for(jj = 0; jj < g_animInteractiveItems.length; jj++) {
if( triggerObj = GetObj(g_animInteractiveItems[jj]) )
triggerObj.runtimeStyle.cursor="hand";
}
}
if( gUseSldTimings && ''+g_animSlideTime != 'undefined' ) {
adjustedTime = document.body.calculateAutoAdvanceTimes( g_animSlideTime, g_animEffectTimings );
if( IsWin("PPTSld") && adjustedTime != g_animSlideTime ) {
var sld = GetCurSld();
sld.mAdvDelay = adjustedTime * 1000;
}
}
}
return g_animUseRuntime;
}
gSldJump = 0, gSldJumpTrack = 0, gSldJumpIdx = "";
function _KPH()
{
if( IsNts() ) return;
if( !IsFramesMode() && event.keyCode == 27 && !HideMenu() )
window.close( self );
else if( event.keyCode == 32 ) {
if( window.name == "PPTSld" )
PPTSld.DocumentOnClick();
else
GoToNextSld();
}
CatchNumKeys( parent, event );
}
function CatchNumKeys( win, event ) {
if( win.IsFullScrMode() && (48<=event.keyCode) && (event.keyCode<=57) ) {
gSldJump = 1;
gSldJumpIdx += (event.keyCode-48).toString();
}
if( win.IsFullScrMode() && gSldJump && event.keyCode == 13 ) {
var numSlds = GetSldList().mList.length
if ( gSldJumpIdx > numSlds )
gSldJumpIdx = numSlds;
if ( gSldJumpIdx >= 0 ) {
if ( gSldJumpIdx == 0 )
gSldJumpIdx = 1;
var jumpTo = parseInt(gSldJumpIdx);
gSldJump = 0; gSldJumpIdx = "";
win.GoToSld( GetSldList().mList[jumpTo-1].mSldHref )
}
}
}
function _KDH()
{
if( event.keyCode == 8 ) {
event.returnValue = 0;
GoToPrevSld();
}
}function DocumentOnClick()
{
if( IsNts() || HideMenu() ) return;
if( ( g_allowAdvOnClick && (window.name=="PPTSld") && !IsFramesMode() ) ||
(event && event.keyCode==32) ) {
if( g_animUseRuntime && g_animMainSequence && g_animMainSequence.cangonext )
return;
GoToNextSld();
}
}
var g_supportsPPTHTML = SupportsPPTHTML(), g_scaleInFrame = 1, gId="", g_bgSound="",
g_scaleHyperlinks = false, g_allowAdvOnClick = 1, g_showInBrowser = 1, gLoopCont = 0, gUseSldTimings = 0;
var g_showAnimation = g_supportsPPTHTML && SupportsPPTAnimation() && ( (window.name=="PPTSld" && !IsFramesMode()) || g_showInBrowser );var g_animManager = null;
var g_animUseRuntime = false;
var g_animItemsToHide, g_animInteractiveItems, g_animSlideTime;
var g_animMainSequence = null;
var ENDSHOW_MESG="放映结束,单击鼠标退出。", SCREEN_MODE="Frames", gIsEndShow=0, NUM_VIS_SLDS=62, SCRIPT_HREF="script.js", FULLSCR_HREF="fullscreen.htm";
var gCurSld = gPrevSld = 1, g_offset = 0, gNtsOpen = gHasNts = gOtlTxtExp = 0, gHasNarration = 0, gOtlOpen = true
window.gPPTHTML=SupportsPPTHTML()
var gMainDoc=new Array(new hrefList("slide0001.htm",1,-1,1),new hrefList("slide0014.htm",1,-1,1),new hrefList("slide0015.htm",1,-1,1),new hrefList("slide0016.htm",1,-1,1),new hrefList("slide0025.htm",1,-1,1),new hrefList("slide0018.htm",1,-1,1),new hrefList("slide0017.htm",1,-1,1),new hrefList("slide0019.htm",1,-1,1),new hrefList("slide0020.htm",1,-1,1),new hrefList("slide0021.htm",1,-1,1),new hrefList("slide0022.htm",1,-1,1),new hrefList("slide0023.htm",1,-1,1),new hrefList("slide0024.htm",1,-1,1),new hrefList("slide0026.htm",1,-1,1),new hrefList("slide0027.htm",1,-1,1),new hrefList("slide0028.htm",1,-1,1),new hrefList("slide0029.htm",1,-1,1),new hrefList("slide0030.htm",1,-1,1),new hrefList("slide0031.htm",1,-1,1),new hrefList("slide0032.htm",1,-1,1),new hrefList("slide0033.htm",1,-1,1),new hrefList("slide0034.htm",1,-1,1),new hrefList("slide0035.htm",1,-1,1),new hrefList("slide0036.htm",1,-1,1),new hrefList("slide0037.htm",1,-1,1),new hrefList("slide0038.htm",1,-1,1),new hrefList("slide0039.htm",1,-1,1),new hrefList("slide0040.htm",1,-1,1),new hrefList("slide0041.htm",1,-1,1),new hrefList("slide0042.htm",1,-1,1),new hrefList("slide0043.htm",1,-1,1),new hrefList("slide0044.htm",1,-1,1),new hrefList("slide0046.htm",1,-1,1),new hrefList("slide0047.htm",1,-1,1),new hrefList("slide0048.htm",1,-1,1),new hrefList("slide0045.htm",1,-1,1),new hrefList("slide0049.htm",1,-1,1),new hrefList("slide0050.htm",1,-1,1),new hrefList("slide0051.htm",1,-1,1),new hrefList("slide0052.htm",1,-1,1),new hrefList("slide0053.htm",1,-1,1),new hrefList("slide0054.htm",1,-1,1),new hrefList("slide0055.htm",1,-1,1),new hrefList("slide0056.htm",1,-1,1),new hrefList("slide0057.htm",1,-1,1),new hrefList("slide0058.htm",1,-1,1),new hrefList("slide0059.htm",1,-1,1),new hrefList("slide0060.htm",1,-1,1),new hrefList("slide0061.htm",1,-1,1),new hrefList("slide0062.htm",1,-1,1),new hrefList("slide0063.htm",1,-1,1),new hrefList("slide0064.htm",1,-1,1),new hrefList("slide0065.htm",1,-1,1),new hrefList("slide0066.htm",1,-1,1),new hrefList("slide0067.htm",1,-1,1),new hrefList("slide0068.htm",1,-1,1),new hrefList("slide0069.htm",1,-1,1),new hrefList("slide0070.htm",1,-1,1),new hrefList("slide0071.htm",1,-1,1),new hrefList("slide0072.htm",1,-1,1),new hrefList("slide0073.htm",1,-1,1),new hrefList("slide0013.htm",1,-1,1));
/*********************************************
Frameset functions
These functions control slide navigation
and state of the frameset.
**********************************************/
function FullScrInit()
{
g_allowAdvOnClick = GetCurSld().mAdvOnClk
document.body.style.backgroundColor="black"
document.oncontextmenu=_CM;
document.onkeydown = _KDH;
document.ondragstart=Cancel
document.onselectstart=Cancel
self.focus()
}
function Redirect( frmId )
{
var str=document.location.hash,idx=str.indexOf('#'), sId=GetSldId()
if(idx>=0) str=str.substr(1);
if( window.name != frmId && ( sId != str) ) {
obj = GetObj("Main-File")
window.location.href=obj.href+"#"+sId
return 1
}
return 0
}
var MHTMLPrefix = CalculateMHTMLPrefix();
function CalculateMHTMLPrefix()
{
if ( document.location.protocol == 'mhtml:') {
href=new String(document.location.href)
Start=href.indexOf('!')+1
End=href.lastIndexOf('/')+1
if (End < Start)
return href.substring(0, Start)
else
return href.substring(0, End)
}
return '';
}
function GetTags(base,tag)
{
if(g_supportsPPTHTML) return base.all.tags(tag);
else return base.getElementsByTagName(tag);
}
function UpdNtsPane(){ if(frames["PPTNts"]) PPTNts.location.replace( MHTMLPrefix+GetHrefObj( gCurSld ).mNtsHref ) }
function UpdNavPane( sldIndex ){ if(gNavLoaded) PPTNav.UpdNav() }
function UpdOtNavPane(){ if(gOtlNavLoaded) PPTOtlNav.UpdOtlNav() }
function UpdOtlPane(){ if(gOtlLoaded) PPTOtl.UpdOtl() }
function SetHasNts( fVal )
{
if( gHasNts != fVal ) {
gHasNts=fVal
UpdNavPane()
}
}
function ToggleOtlText()
{
gOtlTxtExp=!gOtlTxtExp
UpdOtlPane()
}
function ClearMedia()
{
// Clear any sounds playing before launching another browser window. Otherwise,
// in fullscreen mode, you'll continue to hear the sound in the frames mode.
if (PPTSld.pptSound) PPTSld.pptSound.loop = 0;
}
function FullScreen()
{
if ( PPTSld.g_animUseRuntime )
PPTSld.document.body.pause();
ClearMedia();
var href = ( document.location.protocol == 'mhtml:') ? FULLSCR_HREF : FULLSCR_HREF+"#"+GetHrefObj(gCurSld).mSldHref;
if(PPTNav.event.ctrlKey) {
var w = (window.screen.availWidth * 1.0) / 2.0
var h = w * (PPTSld.g_origH * 1.0) / PPTSld.g_origW
win = window.open( MHTMLPrefix+href,null,"toolbar=0,resizable=1,top=0,left=0," + "width="+ w + ",height=" + h );
if( win.document.body && PPTSld.g_animUseRuntime )
win.document.body.PPTSldFrameset=window;
}
else
{
win = window.open( MHTMLPrefix+href,null,"fullscreen=yes" );
if( win.document.body && PPTSld.g_animUseRuntime )
win.document.body.PPTSldFrameset=window;
}
}
function ToggleVNarration()
{
rObj=PPTSld.document.all("NSPlay")
if( rObj && !PPTSld.g_animUseRuntime ) {
if( (rObj.playState == 1)||(rObj.playState == 0) )
rObj.Play()
else if( rObj.playState == 2 )
rObj.Pause()
else
return;
}
else if( PPTSld.g_animUseRuntime )
{
narObj = PPTSld.document.all("narrationID")
if( narObj )
narObj.togglePause()
}
}
function GetCurSldNum()
{
obj=GetHrefObj(gCurSld)
if( obj.mOrigVis == 1 )
return obj.mSldIdx
else
return gCurSld
}
function GetNumSlds()
{
if( GetHrefObj(gCurSld).mOrigVis == 1 )
return GetSldList().mNumVisSlds;
else
return GetSldList().mList.length
}
function GetSldNum( href )
{
for(ii=0; ii<GetSldList().mList.length; ii++) {
if ( GetSldList().mList[ii].mSldHref == href )
return ii+1
}
return 1
}
function GetHrefObj( sldIdx ){ return GetSldList().mList[sldIdx-1] }
function IsFramesMode(){ return ( SCREEN_MODE == "Frames" ) }
function IsFullScrMode(){ return ( SCREEN_MODE == "FullScreen" ) }
function GoToNextSld()
{
ii=gCurSld + 1
if( GetHrefObj( ii-1 ).mOrigVis == 0 ) {
if( ii<=GetSldList().mList.length ) {
obj=GetHrefObj(ii)
obj.mVis=1
GoToSldNum(ii)
return
}
}
else {
obj=GetHrefObj( ii )
while ( obj && ( obj.mOrigVis == 0 ) )
obj=GetHrefObj(++ii)
if( obj && obj.mOrigVis ) {
GoToSldNum(ii)
return
}
}
if( gSldStack.length > 1 )
PopSldList();
else if( !IsFramesMode() ) {
if( gLoopCont )
GoToFirst()
else
EndShow()
}
}
function GoToPrevSld()
{
ii=gCurSld-1
if( ii > 0 ) {
obj=GetHrefObj(ii)
while ( obj && ( obj.mVis == 0 ) && ( ii>0 ) )
obj=GetHrefObj(--ii)
if( ii == 0 ) ii=1
GoToSldNum(ii)
}
}
function GoToFirst(){ GoToSld( GetHrefObj(1).mSldHref ) }
function GoToLast()
{
ii=GetSldList().mList.length
if( ii != gCurSld )
GoToSld( GetHrefObj(ii).mSldHref )
}
function GoToSldNum( num )
{
if( PPTSld.event ) PPTSld.event.cancelBubble=true
obj = GetHrefObj( num )
obj.mVis=1
gPrevSld=gCurSld
gCurSld = num;
PPTSld.location.replace(MHTMLPrefix+obj.mSldHref)
if( IsFramesMode() ) {
UpdNavPane(); UpdOtlPane(); UpdNtsPane()
}
}
function GoToSld( href )
{
if( PPTSld.event ) PPTSld.event.cancelBubble=true
GetHrefObj( GetSldNum(href) ).mVis=1
PPTSld.location.replace(MHTMLPrefix+href)
}
function SldUpdated( id )
{
if( id == GetHrefObj(gCurSld).mSldHref ) return
gPrevSld=gCurSld
gCurSld=GetSldNum(id)
if( IsFramesMode() ) {
UpdNavPane(); UpdOtlPane(); UpdNtsPane()
}
}
function PrevSldViewed(){ GoToSld( GetHrefObj(gPrevSld).mSldHref ) }
function HasPrevSld() { return ( gIsEndShow || ( gCurSld != 1 && GetHrefObj( gCurSld-1 ).mVis == 1 )||( GetCurSldNum() > 1 ) ) }
function HasNextSld() { return (GetCurSldNum() != GetNumSlds()) }
function CloseWindow() {
if( HideMenu() ) return;
var event = PPTSld.event;
if( !IsFramesMode() && event && (event.keyCode==27 || event.keyCode==32 || event.type=="click" ) )
window.close( self );
CatchNumKeys( self, event );
}
function Unload() { gIsEndShow=0; }
function SetupEndShow() {
gIsEndShow=1;
PPTSld.document.body.scroll="no";
PPTSld.document.onkeypress=CloseWindow;
PPTSld.document.onclick=CloseWindow;
PPTSld.document.oncontextmenu=_CM;
}
function EndShow()
{
if( IsFramesMode() ) return
if( PPTSld.event ) PPTSld.event.cancelBubble=true
doc=PPTSld.document
var dir = doc.body.dir
if( dir != "rtl" ) dir = "ltr";
doc.open()
doc.writeln('<html><body dir=' + dir + ' bgcolor=black onload=SetupEndShow() onunload=Unload()><center><p><font face=Tahoma color=white size=2><br><b>' + ENDSHOW_MESG + '</b></font></p></center></body></html>')
doc.close()
}
function SetSldVisited(){ GetSldList().mList[gCurSld-1].mVisited=true }
function IsSldVisited(){ return GetSldList().mList[gCurSld-1].mVisited }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -