⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 whtopic.js

📁 在eclipse中使用js时用到的插件
💻 JS
📖 第 1 页 / 共 2 页
字号:
//FlashHelp 1.0
var gnFlashVersion = -1;
var gaPaths = new Array();
var gaAvenues = new Array();
var gnTopicOnly = -1;

var gsPPath = "";
var gsStartPage = "";
var gsRelCurPagePath = "";
var gsTopicbarOrder="show";

var gstrBsAgent 	= navigator.userAgent.toLowerCase();
var gnBsVer	   		= parseInt(navigator.appVersion);
var gbBsIE  		= (gstrBsAgent.indexOf('msie') != -1);
var gbBsNS  		= (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1));
var gbBsOpera		= (gstrBsAgent.indexOf('opera') != -1);
var gbBsNS4			= ((gbBsNS) && (gnBsVer >= 4));
var gbBsNS6			= ((gbBsNS) && (gnBsVer >= 5));

var gbNav7		= false;
var gbBsOpera6		= false;
var gbBsOpera7		= false;
var gbKonqueror		=(gstrBsAgent.indexOf("konqueror")!= -1);
var gbMozilla		= ((gstrBsAgent.indexOf('gecko')!=-1) && (gstrBsAgent.indexOf('netscape')==-1));

var gbMac=	(gstrBsAgent.indexOf("mac")!=-1);
var gbWindows=	((gstrBsAgent.indexOf('win')!= -1)||(gstrBsAgent.indexOf('16bit')!= -1));

if(gbBsNS6)
{
	var nPos=gstrBsAgent.indexOf("gecko");
	if(nPos!=-1)
	{
		var nPos2=gstrBsAgent.indexOf("/", nPos);
		if(nPos2!=-1)
		{
			var nVersion=parseFloat(gstrBsAgent.substring(nPos2+1));
			if(nVersion>=20010726)
			{
				if (nVersion>=20020823)
					gbNav7=true;
			}
		}
	}
}

if (gbBsOpera)
{
	var nPos = gstrBsAgent.indexOf("opera");
	if(nPos!=-1)
	{
		var nVersion = parseFloat(gstrBsAgent.substring(nPos+6));
		if (nVersion >= 6)
		{
			gbBsOpera6=true;
			if (nVersion >=7)
				gbBsOpera7=true;	
		}
	}
}

if (gbWindows && gbBsIE && !parent.parent.parent.gbToolBarLoaded)
{
	var sVBScript = '';
	sVBScript += '<script language="VBScript"\> \n';
	sVBScript += 'Private i, x \n';
	sVBScript += 'On Error Resume Next \n';
	sVBScript += 'MM_FlashControlInstalled = False \n';
	sVBScript += 'For i = 6 To 1 Step -1 \n';
	sVBScript += '   Set x = CreateObject("ShockwaveFlash.ShockwaveFlash." & i) \n';
	sVBScript += '   MM_FlashControlInstalled = IsObject(x) \n';
	sVBScript += '   If MM_FlashControlInstalled Then \n';
	sVBScript += '       gnFlashVersion = i \n';
	sVBScript += '       Exit For \n';
	sVBScript += '   End If \n';
	sVBScript += 'Next \n';
	sVBScript += '</script> \n';
	document.write(sVBScript);
}

function IsFlashSupported()
{
	var bResult = false;

	if (gnFlashVersion == -1)
	{
		if (parent.parent.parent.gbToolBarLoaded)
		{
			gnFlashVersion = 6;
		}
		else
		{
			if (navigator.plugins && navigator.plugins.length > 0)
			{
				if (navigator.plugins["Shockwave Flash"])
				{
					var words = navigator.plugins["Shockwave Flash"].description.split(" ");
					for (var i = 0; i < words.length; ++i)
					{
						if (isNaN(parseInt(words[i])))
							continue;
						gnFlashVersion = words[i];
					}
				}
			}
		}
	}
	if (gnFlashVersion == -1)
	{
		gnFlashVersion = 0;
	}

	if (gnFlashVersion>=6)
	{
		bResult = true;
	}

	return bResult;
}

function SendCmdToMainHTML(cmd, param) {
	if( (parent != this) && (parent.DoCommand) )
	{
		parent.DoCommand(cmd, param);	
	}
}

function sendTopicLoaded()
{
	parent.gbTopicLoaded = true;
	SendCmdToMainHTML("CmdTopicIsLoaded",1);
}

function DoCommand(cmd, param) {
	if (cmd == "CmdAskIsTopicOnly")	{
		if( (parent!=this) && (parent.DoCommand) )
		{
			parent.DoCommand(cmd, param);	
		}
	} else if (cmd == "CmdScrollbarDragStart") {
		if (gbBsNS6 || (gbBsOpera && !gbMac)) {
			document.getElementById("scrollbarDIV").style.visibility = "";
		} else if (gbBsNS4) {
			document.layers["scrollbarLayer"].visibility = "show";
		}
	} else if (cmd == "CmdScrollbarDragStop") {
		if (gbBsNS6 || (gbBsOpera && !gbMac)) {
			document.getElementById("scrollbarDIV").style.visibility = "hidden";
		} else if (gbBsNS4) {
			document.layers["scrollbarLayer"].visibility = "hidden";
		}
	} else if (cmd == "CmdScrollbarDragMove") {
		if (gbBsNS6) {
			document.getElementById("scrollbarDIV").style.left = param;
		} else if (gbBsNS4) {
			document.layers["scrollbarLayer"].pageX = param;
		} else if (gbBsOpera && !gbMac) {
			eval('document.all.scrollbarDIV').style.pixelLeft = param;
		}
	}
}

function getElement(elementID) {
	var element = null;
	// See if the browser supports the functions we need to get to the element
	if (document.getElementById) {
		element = document.getElementById(elementID);
	} else if (document.all) {
		element = document.all(elementID);
	}
	return element;
} 

// Unload processing
function TopicUnloaded() {
	parent.gbTopicLoaded = false;
	SendCmdToMainHTML("CmdTopicUnloaded");
}
window.onunload = TopicUnloaded;

// project info
function setRelStartPage(sPath)
{
	if (gsPPath.length == 0)
	{
		gsPPath = _getFullPath(_getPath(document.location.href),  _getPath(sPath));
		gsStartPage = _getFullPath(_getPath(document.location.href), sPath);
		gsRelCurPagePath = _getRelativeFileName(gsStartPage, document.location.href);
	}
}

function addTocInfo(sTocPath)
{
	gaPaths[gaPaths.length] = sTocPath;
}

function addAvenueInfo(sName, sPrev, sNext)
{
	gaAvenues[gaAvenues.length] = new avenueInfo(sName, sPrev, sNext);	
}

function avenueInfo(sName, sPrev, sNext)
{
	this.sName = sName;
	this.sPrev = sPrev;
	this.sNext = sNext;
}

function _getNumLines(sLines)
{
	var nLines=1;
	var nStart=0;
	while(sLines.indexOf('\n',nStart)!=-1)
	{
		nLines++;
		nStart = sLines.indexOf('\n',nStart)+1;
	}
	return nLines;
}

function stringToRGB(color_str) {
	
	// First create a lowercase version of the string
	var lowercase_str = color_str.toLowerCase();
	var value = 0xFFFFFF;
	
	if (lowercase_str.charAt(0) == "#") {
		// Convert HEX
		value = parseInt(lowercase_str.substring(1, lowercase_str.length), 16);	
	} else {
		switch (lowercase_str) {
			case "white": value = 0xFFFFFF; break;
			case "black": value = 0x000000; break;
			case "red": value = 0xFF0000; break;
			case "green": value = 0x008000; break;
			case "blue": value = 0x0000FF; break;
			case "silver": value = 0xC0C0C0; break;
			case "gray": value = 0x808080; break;
			case "maroon": value = 0x800000; break;
			case "purple": value = 0x800080; break;
			case "fuchsia": value = 0xFF00FF; break;
			case "magenta": value = 0xFF00FF; break;
			case "lime": value = 0x00FF00; break;
			case "olive": value = 0x808000; break;
			case "yellow": value = 0xFFFF00; break;
			case "navy": value = 0x000080; break;
			case "teal": value = 0x008080; break;
			case "aqua": value = 0x00FFFF; break;
			case "cyan": value = 0x00FFFF; break;
			case "brown": value = 0xA52A2A; break;
			case "darkgray": value = 0xA9A9A9; break;
			case "lightblue": value = 0xADD8E6; break;
			case "tan": value = 0xD2B48C; break;
			case "lightgray": value = 0xD3D3D3; break;
			case "beige": value = 0xF5F5DC; break;
			case "orange": value = 0xFFA500; break;
			case "gold": value = 0xFFD700; break;
		}
	}
	
	return value;
}


function sendBgColorInfo()
{
	var bgColor = 0xFFFFFF; // default to white
	if ((document.bgColor != null) && (document.bgColor != "")) {
		bgColor = stringToRGB(document.bgColor);
	}
	SendCmdToMainHTML("CmdTopicBGColor", bgColor);	
}

function createSyncInfo()
{
	var sSyncInfo="";
	if (gaPaths.length <= 0)
		return "";
			
	if (gsPPath.length == 0)
		gsPPath = _getPath(document.location.href);
		
	sSyncInfo += gsPPath;
	sSyncInfo += "\n"+document.location.href;
	for(i=0;i<gaPaths.length;i++)
	{
		sSyncInfo += "\n"+ _getNumLines(gaPaths[i]) + "\n" +gaPaths[i];
	}
	return sSyncInfo;
}

function sendSyncInfo()
{	
	if (gaPaths.length <= 0)
		return;
	var sSyncInfo=createSyncInfo();	
	SendCmdToMainHTML("CmdSyncInfo",sSyncInfo);
}

function autoSync(nSync)
{
	if (nSync == 0) return;
	if (gaPaths.length <= 0)
		return;
	var sSyncInfo=createSyncInfo();	
	SendCmdToMainHTML("CmdSyncTOC",sSyncInfo);	
}


function sendAveInfo()
{	if (gaAvenues.length > 0)
		setTimeout("Do_sendAveInfo();", 100);
}

function Do_sendAveInfo()
{	
	var sAveInfo="";
	for(i=0;i<gaAvenues.length;i++)
	{
		sAveInfo+=gaAvenues[i].sName+"\n";
		sAveInfo+=gaAvenues[i].sPrev+"\n";
		sAveInfo+=gaAvenues[i].sNext;
		if(i != gaAvenues.length-1)
			sAveInfo+="\n";
	}
	SendCmdToMainHTML("CmdBrowseSequenceInfo",sAveInfo);
}

function addShowButton()
{
	if(parent.gbFHPureHtml)
		return;	
	if(isInPopup())
		return;
	if(gsTopicbarOrder.indexOf("show") <0 )
		return;
	if(!isTopicOnly())
		return;	
	var sHTML = "";
	sHTML += "<table width=100%><tr>"	
	sHTML += "<td width=33%>";
	sHTML += "<div align=left>";
	sHTML += "<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\"><tr>";
	sHTML += "<td><a class=\"whtbtnshow\" href=\"javascript:void(0);\" onclick=\"show();return false;\">Show</a></td></tr></table> ";
	sHTML += "</tr></table>";
	sHTML += "</div>";
	sHTML += "</tr></table>";
	document.write(sHTML);
	var sStyle = "<style type='text/css'>";
	sStyle+= ".whtbtnshow{font-family:;font-size:10pt;font-style:;font-weight:;text-decoration:;color:;}";
	sStyle+= "</style>";
	document.write(sStyle);
}

function show()
{
	if (gsStartPage != "")
		window.location =  gsStartPage + "#" + gsRelCurPagePath;
}

function isTopicOnly()
{
	if (gnTopicOnly == 1)
		return true;
	if (gnTopicOnly == 0)
		return false;
	if (parent == this)
		return true;
	if (gnTopicOnly == -1)
	{
		var oParam = new Object();
		oParam.isTopicOnly = true;
		SendCmdToMainHTML("CmdAskIsTopicOnly",oParam);
		if (oParam.isTopicOnly)
		{		
			gnTopicOnly = 1;
			return true;
		}
		else
		{
			gnTopicOnly = 0;
			return false;
		}
	}
}

function isInPopup()
{
	return (window.name.indexOf("BSSCPopup") != -1);
}

function PickupDialog_Invoke()
{
	if (typeof(wfRelatedTopic)=="function" && Number(gsSkinVersion) > 2 && IsFlashSupported())
			return wfRelatedTopic(PickupDialog_Invoke.arguments);
	if (!gbIE4 || gbMac || gbOpera)
	{
		if (typeof(wfRelatedTopic)=="function" && Number(gsSkinVersion) > 2 && IsFlashSupported())
			return wfRelatedTopic(PickupDialog_Invoke.arguments);
		else if (typeof(_PopupMenu_Invoke)=="function")
			return _PopupMenu_Invoke(PickupDialog_Invoke.arguments);
	}
	else
	{
		if (PickupDialog_Invoke.arguments.length > 2)
		{
			var sPickup = "wf_pickup.htm";
			if(sPickup.substr(0,2) == "%%")//WW: WWH_TODO delete it when release
			sPickup = "wf_pickup1.htm";
			var sPickupPath=gsPPath+sPickup; 
			if (gbIE4)
			{
				var sFrame = PickupDialog_Invoke.arguments[1];
				var aTopics = new Array();
				for (var i = 2; i< PickupDialog_Invoke.arguments.length; i+=2)
				{
					var j=aTopics.length;
					aTopics[j] = new Object();
					aTopics[j].m_sName=PickupDialog_Invoke.arguments[i];
					aTopics[j].m_sURL=PickupDialog_Invoke.arguments[i+1];
				}

				if (aTopics.length > 1)
				{
					var nWidth = 300;
					var nHeight =180;
					var	nScreenWidth=screen.width;
					var	nScreenHeight=screen.height;
					var nLeft=(nScreenWidth-nWidth)/2;
					var nTop=(nScreenHeight-nHeight)/2;
					if (gbIE4)
					{
						var vRet = window.showModalDialog(sPickupPath,aTopics,"dialogHeight:"+nHeight+"px;dialogWidth:"+nWidth+"px;resizable:yes;status:no;scroll:no;help:no;center:yes;");
						if (vRet)
						{
							var sURL = vRet.m_url;
							if (sFrame)
								window.open(sURL, sFrame);
							else
								window.open(sURL, "_self");
						}
					}
				}
				else if (aTopics.length == 1)
				{
					var sURL = 	aTopics[0].m_sURL
					if (sFrame)
						window.open(sURL, sFrame);
					else
						window.open(sURL, "_self");
				}
			}
		}
	}
}
// Add a hidden layer to simulate scrollbar dragging if this is not a browser that can handle dynamic frame resizing
if (gbBsNS6) {
	var sHTML = "<div id='scrollbarDIV' style='LEFT:10px; WIDTH:3px; POSITION:absolute; TOP:0px; HEIGHT:100%; BACKGROUND-COLOR:lightgrey; visibility:hidden; Z-INDEX:100; BORDER-WIDTH:1px; BORDER-COLOR:darkgray; BORDER-RIGHT-STYLE:solid; BORDER-LEFT-STYLE:solid;'></div>";
	document.write(sHTML);
} else if (gbBsOpera) {
	var sHTML = "<div id='scrollbarDIV' style='LEFT:10px; WIDTH:5px; POSITION:absolute; TOP:0px; HEIGHT:100%; BACKGROUND-COLOR:lightgrey; visibility:hidden; Z-INDEX:100; BORDER-WIDTH:1px; BORDER-COLOR:#A9A9A9; BORDER-RIGHT-STYLE:solid; BORDER-LEFT-STYLE:solid;'></div>";
	document.write(sHTML);
} else if (gbBsNS4) {
	var sHTML = "<layer pagex='-10' pagey='0' width='4' height='100%' name='scrollbarLayer' visibility='hidden' bgcolor='lightgrey' z-index='100'></layer>";
	document.write(sHTML);
}


// Add a hidden layer to load the related topics dialog in
if (gbBsNS4 && !gbBsNS6) 
{
	var sHTML = "<layer pagex='-10' pagey='-10' width='1' height='1' name='relatedTopicsLayer' visibility='hide' z-index='100'></layer>";
}
else 
{
	var sHTML = "<DIV ID='relatedTopicsDIV' STYLE='position:absolute; left:0px; top:0px; z-index:4; visibility:hidden;'></DIV>"
}

document.write(sHTML);

var gRtXPos = 0;
var gRtYPos = 0;
var gRtWidth = 0;
var gRtHeight = 0;
var gsHtml = "";

var CHECK_RELATED_TIMEOUT = 600;
var gsFlashVars = "";
var gbRtLoaded = false;
var gbRtSized = false;
var gbRtOrigMouseDown = null;
var gRtTargetDoc = null;
var gsTargetFrame="";
var gbDivClicked = false;
var gbRtOpened = false;
var gsSwfLoader = "wf_related.swf"
var gsSkinIndexSwf = "skin_index.swf"
var gsSkinIndexFont = "font-family:Arial font-size:10pt font-weight:Normal font-style:Normal text-decoration:none font-color:Black";
var gsSkinIndexHighlight = "font-family:Arial font-size:10pt font-weight:Normal font-style:Normal text-decoration:underline font-color:#495C7A";
var gsSkinVersion="2.2"

function escapeChar(in_str)
{
	var out_str = in_str;

	out_str = replaceChar(out_str,'%');
	out_str = replaceChar(out_str,'\'');
	out_str = replaceChar(out_str,'&');
	out_str = replaceChar(out_str,'+');
	out_str = replaceChar(out_str,' ');

	return out_str;
}

function replaceChar(in_str, sChar)
{
	var out_str = in_str;
	var temp_str = "";
	var nOldIndex=0;
	var nIndex = out_str.indexOf(sChar);
	while (nIndex >= 0)
	{
		temp_str = out_str.substring(0,nIndex);
		temp_str +="%" + dec2hex(sChar.charCodeAt(0)) ;
		temp_str +=out_str.substring(nIndex+1);
		out_str = temp_str;
		nOldIndex = nIndex;
		nIndex = out_str.indexOf(sChar, nOldIndex+1);
	}
	return out_str;
}

function dec2hex(dec_num)
{
	// This function will convert a dec number <= 255 to a hex string
	var hex_str = "";
	var hexArray = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
	hex_str += hexArray[Math.floor(dec_num/16)];
	hex_str += hexArray[dec_num%16];
	return hex_str;	
}

function wfRelatedTopic(fn_arguments)
{
	var strPath = gsPPath;
	if (gbBsNS4 && !gbBsNS6)
	{
		strPath = escapeChar(gsPPath);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -