div被activex控件遮住的处理方法

不知什么时候,自己成了写JS的人了

说实话,用过很多种编程语言,但至今发现,最佩服的莫过于JS程序员,调试那叫个烦人啊,写出JQuery的那些人,要么有更好的调试工具,要么就是真正的牛人吧。
JS的调试工具,IE下,直接用IE的调试工具(IE7及以上)或者是Companion.JS
在FF下,自然是FireBug老兄了

现在,主界面上已经集成了JQuery,JQueryUI,JX,SuperFish
还记得当初把JX放到JQuery中,以及修改JX.Tree增加叶子节点的ID等属性,加起来痛苦了有一周左右,终于把JX删的删,改的改,满足了需求。

这两天呢,又遇到了SuperFish的菜单,被一个第三方ActiveX控件遮住的问题,让大家痛苦了许久。
网上找呢,也全是关于flash的东西,只要设个参数就好了。

没办法,只好去修改SuperFish的代码咯。
具体的思路是:

在菜单弹出后,弹出菜单的下方,生成一个同样大小的iframe,

var mydoc=window.frames["FrameId"].document;
var objiframe = mydoc.createElement("iframe");
objiframe.id ="IFuLeU";
objiframe.style.visibility = 'hidden';
objiframe.style.top = 0;
objiframe.style.left = 0;
objiframe.style.width = 0;
objiframe.style.height = 0;
mydoc.body.appendChild(objiframe);

objiframe.style.position = "absolute";
objiframe.style.top = 0;
objiframe.style.left = this.offset().left-1;
objiframe.style.width = this.width();
objiframe.style.height = this.height()-2;
objiframe.style.visibility = 'visible';

在菜单隐藏时,将iframe销毁,

var mydoc=window.frames["FrameId"].document;
var objiframe = mydoc.getElementById("IFuLeU");
mydoc.body.removeChild(objiframe);

但这样呢,还会有个小问题
就是在菜单弹出后,会有个较为明显的先被ActiveX遮住,然后菜单又将Activex遮住的过程。

Linux常用命令09tar压缩解压文件

1、压缩文件

#只归档不压缩
tar –cf OUT_FILE_NAME.tar PATH_TO_FOLDER
#归档后用gzip压缩
tar –czf OUT_FILE_NAME.tar.gz PATH_TO_FOLDER
#归档后用bzip2压缩
tar –cjf OUT_FILE_NAME.tar.bz2 PATH_TO_FOLDER
#归档后用compress压缩
tar –cZf OUT_FILE_NAME.tar.Z PATH_TO_FOLDER

2、解压文件

#解压tar
tar –xvf IN_FILE_NAME.tar
#解压tar.gz
tar -xzvf IN_FILE_NAME.tar.gz
#解压tar.bz2
tar -xjvf IN_FILE_NAME.tar.bz2
#解压tar.Z
tar -xZvf IN_FILE_NAME.tar.Z

VBS枚举硬盘信息

1、GetHDInfo.vbs
这个脚本,是Google后找到的,虽然是VBS,但比网上绝大多数的代码,靠谱的多得多

'---------------------------------------------------
'Get the properties of all partitions on all drives, 
'including USB drives.
'Core code from the Scripting Guy
'7.1.2012 FNL
'---------------------------------------------------
Set oWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set cDiskDrives = oWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive")

For Each oDrive In cDiskDrives
	WScript.echo "Disk #" & oDrive.Index & "(" & oDrive.InterfaceType & "): " _
		& oDrive.Caption & ", Size=" & Format(oDrive.Size, False) & " MBytes"
	WScript.echo "Part.  Drive          F/S   Size(MBytes)  Free(MBytes)  Active  Primary"
	WScript.echo String(71, "-")

	'WScript.Echo "ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & Replace(oDrive.DeviceID, "\", "\\") & """} WHERE AssocClass = " & "Win32_DiskDriveToDiskPartition"

	Set cPartitions = oWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" _
		& Replace(oDrive.DeviceID, "\", "\\") & """} WHERE AssocClass = " & "Win32_DiskDriveToDiskPartition")
 
	For Each oPartition In cPartitions
		aPartition = Split(oPartition.DeviceID)
		Set cLogicalDisks = oWMIService.ExecQuery _
	 		("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & oPartition.DeviceID _
			& """} WHERE AssocClass = Win32_LogicalDiskToPartition")
 		if oPartition.Bootable         then sActive  = "Yes" Else sActive  = "No "
 		if oPartition.PrimaryPartition then sPrimary = "Yes" Else sPrimary = "No "
		For Each oLogicalDisk In cLogicalDisks
			For Each oVolume In cLogicalDisks
				sLabel = Left(oVolume.VolumeName & Space(12), 12)
			Next
			With oLogicalDisk
				sSpacer = Space(8 - Len(.FileSystem))
	 	   		WScript.Echo " " & aPartition(3) & "    " & .DeviceID & " " & sLabel _
				& .FileSystem & sSpacer & Format(.Size, True) & "       " _
				& Format(.FreeSpace, True) & "     " & sActive & "     " & sPrimary
			End With
		Next
	Next
	WScript.Echo
Next

Function Format(n, bPad)
	n = FormatNumber(n/1000000, 0, -1, 0, -1)
	if bPad then Format = Space(7-Len(n)) & n Else Format = n
End Function

2、运行

@REM do not use wscript GetHDInfo.vbs
@cscript GetHDInfo.vbs

Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

Disk #1(IDE): Hitachi HTS545032B9A302 ATA Device, Size=320,070 MBytes
Part.  Drive          F/S   Size(MBytes)  Free(MBytes)  Active  Primary
-----------------------------------------------------------------------
 #1    D: WinAPP      NTFS    319,862       182,455     No      Yes

Disk #0(IDE): Samsung SSD 850 EVO 500GB ATA Device, Size=500,105 MBytes
Part.  Drive          F/S   Size(MBytes)  Free(MBytes)  Active  Primary
-----------------------------------------------------------------------
 #1    E: MacSSD      HFS     256,114        89,747     No      Yes
 #3    C: BOOTCAMP    NTFS    242,999        45,934     Yes     Yes

Press any key to continue . . .

Linux常用命令08cp命令强制覆盖文件

最近,用cp命令拷贝文件夹时,发现即使用了-f选项,覆盖文件夹时,仍然要一个文件一个文件的确认,吐血啊。

后来发现,我调用的cp命令其实是一个别名,用alias命令就可以看到了。

alias cp=’cp -i’

额,系统为了安全,默认强制大家在覆盖前,逐个进行确认。知道了原因,那解决问题就简单了。

方法一、用管道,对每个提醒直接进行确认

yes|cp -fr src dest

方法二、取消别名

unaslias cp 

方法三、强制使用cp命令,而不是使用别名

\cp -fr src dest 

Linux常用命令05scp上传及下载文件

1、从服务器上下载文件

scp username@servername:/remote_path/remote_filename /local_path

2、上传本地文件到服务器

scp /local_path/local_filename username@servername:/remote_path   

3、从服务器下载整个目录

scp -r username@servername:/remote_path/remote_foldername /local_path

4、上传目录到服务器

scp -r /local_path/local_foldername username@servername:/remote_path

Linux常用命令04网络基本操作

1、APT安装及卸载软件

#查看已安装的软件
dpkg -l | grep ssh

#查找软件
apt-cache search ssh

#安装软件
sudo apt-get install ssh

#卸载软件
sudo apt-get remove ssh
#或者
sudo dpkg -r ssh

#purge软件
sudo apt-get remove --purge ssh
sudo dpkg -P ssh

2、重启网络(方法一)

ifconfig eth0 down
ifconfig eth0 up

3、重启网络(方法二)

/etc/init.d/networking restart

4、刷新机器名

/etc/init.d/hostname.sh start

5、刷新环境变量

source /etc/profile

6、查看本地网络状态

ip addr
netstat -na
#UDP类型的端口
netstat -nupl
#TCP类型的端口
netstat -ntpl

7、测试远程网络状态

ping ip_addr
telnet ip_addr port
traceroute ip_addr

Linux常用命令03挂载及硬件信息

1、挂载NTFS文件系统:

mount -t ntfs-3g /dev/sdb1 /mnt/winc -o force   

2、挂载VirtualBox共享目录:

mount -t vboxsf 共享名称 /mnt/vbshare/

3、改变目录及文件所属

chown -R usergroup:user path_to_folder

4、查找

find path -name filename
find path -type f -exec grep -l - l stringtofind {} \;

5、枚举文件夹下文件大小

du -h

6、查看文件夹大小

du -sh

7、查看硬盘使用情况

df -lh

8、查看内存使用情况

vmstat
free -m

Linux常用命令02压缩及解压

#.tar
tar xvf FileName.tar
tar cvf FileName.tar FolderName

#.gz
gzip -d FileName.gz
gzip FileName

#.tar.gz
tar zxvf FileName.tar.gz
tar zcvf FileName.tar.gz FolderName

#.bz2
bzip2 -d FileName.bz2
bzip2 -z FileName

#.tar.bz2
tar jxvf FileName.tar.bz2
tar jcvf FileName.tar.bz2 FolderName

#.Z
uncompress FileName.Z
compress FileName

#.tar.Z
tar Zxvf FileName.tar.Z
tar Zcvf FileName.tar.Z FolderName

#.zip
unzip FileName.zip
zip -r FileName.zip FolderName