|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 o i2 Z2 y+ q/ E3 V
+ B0 u0 ?5 L, \1 D火狐插件,用猴子. u- w# D# I( T5 a& c4 A s
7 o8 H" ?1 \: ~6 Q
var debug=false;
. |/ _2 R# M8 d+ s7 \var CleanHideObj=new CleanHideClass();( r0 O; A0 ~; f1 w2 M" ]% E2 D" P
4 `6 X3 L' a& \, D! ~1 kfunction CleanHideClass() , B& e1 F6 E/ y( P) V
{
2 H3 A0 n2 i2 H4 v3 Z U
. E( f! Y# w/ Z- g9 n, p/ ?1 l this.on=function(id,bMZ)
0 M1 H+ S7 D; p/ c1 W {
: k1 F3 N# s. J" ?3 M1 H! Y % P( F. ~0 h) ^1 b! B6 V% i( z
if(id == 0)
8 ]" U1 H" P9 e% A8 b! @3 c {1 B9 @! O, y F) p: S5 n+ q; x
var page=/* document.getElementById("content").contentDocument */document; ) u1 j, ]4 V- A. x
this.RemoveHide(page,"span");
6 P+ W* \0 h$ b M4 u- l; O this.RemoveHide(page,"font");
6 l8 M* L' Z, [. ~/ t this.RemoveHide(page,"div");
1 w/ v. p* @" X* Z K0 i this.RemoveHide(page,"p");
- M) v3 y. x3 [, f/ p- n% C
! `& }" z6 A% I: H" o3 G }
: L) R4 `6 w I* |
& g% O% v; Z' J, b" K3 R" b }/ ?5 ~; G4 N8 k t5 j5 p6 Y
this.getobjstyle=function(node,prop)- Q% }7 g+ J7 s8 t; q) F! J$ z& ^
{
* H+ a" i& r( C& N; ^8 [' U" A! X try9 B, p" } z" ~1 R/ R7 k: D6 D
{- N, t* K& B0 y) b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 D) i: ^) F! F2 u# b
}
! {4 a: s( D) t: ~4 } catch(e)
$ L. Z4 g( b8 |6 H# R8 o2 z {
6 K4 _9 u! L0 G. c) p! o" R if(debug)! L2 d# Z7 E0 m! }( i! X
{ N: l6 @4 S* A4 e
alert(e.message);" Q) ^3 K$ C$ C0 ~1 Q
}
7 R: i! g7 ^0 s) ]' r! u/ _1 s/ l
% T' R% E5 S- R A* o: G2 G return "200"; r+ A* V! J8 k
}% h5 ?) T$ i+ v2 V' d b$ b
}
8 ?9 m5 l0 g# a$ v ) M- k* U( D T- D% }6 }. v# W
this.RemoveHide=function(page,objname)
, G4 l* U) k3 U3 g. L$ {$ ` {
4 k- ]7 R/ z h try
$ V/ _* ?! C4 n# l# [. I4 L {+ e( A" M* a) K7 t: l/ ~& R
var minValue=15;
0 i7 g4 E* H7 L8 C3 e$ R var objs=page.getElementsByTagName(objname);
8 V/ L/ \5 G) V
# Y4 ? d6 _8 S2 l if(objs.length == 0)
, v y6 i# ~% H4 ^' E {
+ @$ q1 P" ]! e5 D( E if(debug)
& n+ M$ ]6 O9 p$ |) g: ? {
2 D5 f8 |9 r# X+ o; P# S alert("no object found!:"+objname);1 s' [3 j4 B% k" z a
}
# T' ~- B$ i: m( d9 P }
% Z! m5 g! h- k9 O) z4 ?2 @4 q0 x else
- I) o0 V# I' z {1 ^0 R" N: r% s
5 i2 `9 P1 a& B1 d2 z for(var i=objs.length-1;i>=0;i--)
1 M! s3 Z1 G$ t- M1 L# M {
' S7 r! |8 E1 E0 U3 Z$ | var node=objs.item(i); . V5 B, Q/ z7 _1 ~1 B/ i% w& t
+ a. N* J' e2 E' ]) \ ! w+ q, ~; N9 t5 q- |' o
if(this.getobjstyle(node,"display") == "none" ||, j2 j/ M/ G+ g2 W2 G! k3 L
this.getobjstyle(node,"visibility") =="hidden" ||
1 e7 x4 O/ ?$ l parseInt(this.getobjstyle(node,"font-size")) == 0) ; s" b1 E$ a% e$ K
{/ Q2 L) {* L7 ]* D
if(debug)) @" w7 S: j# F2 p9 a$ u/ }4 w. N
{
' M, W. D7 H! ^# n alert("remove invisiable!");
; ]- Q |5 J/ ]: v1 q, e) e! Y2 { }
; V) O: o1 F, ^0 F+ { node.parentNode.removeChild(node);
3 n4 k* |+ f: [ 3 G9 e2 A6 ?4 `, g8 c7 m4 V
}
" c8 l3 I' A w; N; g% I+ @: d+ D else
* ?$ W! r" r5 A% [1 { {3 q M3 J4 n7 h2 [: g
if(node.parentNode)
- @5 q* e9 {) @' C {; w! v1 ~0 S3 a
var orgNode=node;6 n2 G& i/ H' Q8 C2 e( S0 ~7 z! G
var orgColor=this.getobjstyle(orgNode,"color")
5 }6 f1 O% l+ m# K x+ Z6 i* D9 k var orgRGB=getRGB(orgColor); 7 x9 I) V, x( K1 R0 h/ e: e# q
% ~1 W1 u9 S+ ^4 H, Y4 ]3 g' G s var parentNode=node.parentNode
1 m' E+ v( B8 |* _0 ~- @ var parentBgColor=this.getobjstyle(parentNode,"background-color");
! H, k1 y( m3 I0 R1 \6 r
2 s. y3 b' c+ N! p/ A6 e var isLast=false;' Q* B/ @. W. A( i. a+ h2 U
' O$ m, k8 P1 R: z while(parentBgColor == "transparent") $ Z+ L$ I& c% B0 }: D: }
{6 ~! | j6 R( O$ O
% _" U( Z& F+ D& o$ R) P! G 4 C* I3 I. |' H5 ^
if(parentNode.parentNode == null)
2 W: e1 W1 L6 E; X1 G {
; p+ R/ s$ ^( m" p% q+ n2 A- g isLast=true;
+ Q- F: R! |& D. F1 X4 P break;4 S+ T9 L1 Y. ]% |4 R
}- o( x8 y' _ [
parentNode=parentNode.parentNode;9 K4 ]( l) Q5 K* `) h
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 o7 ~" g( J# e/ J0 C/ F4 Z# ~1 o7 Q' p
if(parentBgColor != "transparent")
2 J* b3 t* @4 Q" v3 L7 G {; G7 S$ T9 k0 _2 z, E/ M
break;
" P# p/ V3 l, q6 `7 \0 Q: o }
, T" _9 v) v; v% s2 g }
( {% w4 F% S* r if(isLast)
. m- ] T, L# O" x: v( u {
. |% p- ?* m; { if(debug)6 H8 v, I: m& J6 B1 D; e* I+ J
{
9 w# W E7 Y4 p4 m alert("last!!");: n4 P; N; T9 b9 a$ d- a
}
9 ~# S/ O' N9 h4 T% w9 q if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ u/ Q% N& P& ^+ `4 B. ^/ i
{
8 y) p! P: l' \+ F6 _+ K orgNode.parentNode.removeChild(orgNode); ) `# Y) P: v r) f+ Y
}
& D& t2 Y; F+ \$ o1 C }6 ^3 w0 _# O* V+ V& D0 B( i
else
/ Z3 v' L2 X3 {- Y/ {( l9 S {( G9 O0 P! v. h( r7 C l; L
if(debug)& x, u" E: E+ w) a1 J6 s. J/ c
{
# X& ~$ i, j) F; m& A: |+ g alert("compare color and parent bgcolor!");# `9 ^# x% v+ [
}! c$ t3 C, Z- s0 t' m
parentBgRGB=getRGB(parentBgColor);, g! h6 A4 \$ j$ Z9 w4 `5 w8 o+ H4 U# i
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 W' T+ l- s4 z
{6 X+ @& p" N( `
orgNode.parentNode.removeChild(orgNode); : h9 p! t& d1 u8 X6 w0 f4 t5 [& t
} c# _* X+ v# S7 ^- W
}
$ F/ T7 z; p6 I4 J- r& Z }7 E8 L. Q/ y3 c. X; n. x, {9 u
}/ A% n' [1 w) K# \8 w1 H
}' @2 a% D8 o9 p
}% K- u" X8 ^- j. `3 k
8 M/ `5 O k! O 2 u& `; h# N5 q& e4 a
var itemFrames = page.getElementsByTagName("frame");4 \, g! L Z% O: B2 u1 u
var itemiFrames = page.getElementsByTagName("iframe");
$ @8 v5 M! H# y' y" A * ^$ x9 b4 N/ O0 u7 E5 c2 C0 `3 |
var frame, iframe;
/ S8 J2 S4 q* Y* \ j/ y if (itemFrames.length > 0)
* X& G: q2 w4 u* g {' \* p) F7 V7 p/ C7 z3 ?+ Q/ R
for (var i = 0 ; i< itemFrames.length ; i++) 5 C' ?* b1 Z7 `8 M: g1 C4 O- u
{" {: U J0 k8 \5 _# I
frame = itemFrames.contentDocument;
% F1 t( v. w$ g8 E: P$ I0 P- S this.RemoveHide(frame,objname);
* j" K; \7 [2 q9 y' A: p' O }
% t& h8 g/ B! H+ j7 J }
9 L4 W4 @+ k. Q/ ^; j+ q$ O if (itemiFrames.length > 0)
* ?+ u- W6 u0 D( } {
9 _# ^9 o2 v; X1 e# M/ D for (var i = 0 ; i < itemiFrames.length ; i++) & T1 g7 j6 W/ m/ }1 i
{" a B" M9 W! E) o; o
iframe = itemiFrames.contentDocument;
7 Z9 y- ^3 S3 Y: n this.RemoveHide(iframe,objname); % @: `& e0 T7 y! [
}: a; F6 Y+ W' S
}
" D( y9 X# {5 j$ I9 n }7 z# ?7 x+ |" [! b
catch(e)) `* ?% @2 A9 Q9 v. \: ]( U
{4 S, ?3 E5 b) O4 |
if(debug)0 R3 |% q: Q4 `+ T% Y/ j
{0 k0 T. {! g* g8 Z% p6 B6 A
alert(e.message);
* m: R! x: f9 q6 D }" J- h; ~' x7 N% m
}; G6 A+ y+ m) m; b/ s/ P
}
% o7 B( g1 g# Y2 w
4 V7 ~+ J' C# c: b2 ]}6 D# `! @+ y/ [
' v8 m' n9 U5 U& I4 A2 i' b& J2 ?function getRGB(colorString)
% q) S* v' {' i/ T* Q7 |# x{
4 i% g( M4 k; K W0 n5 f: V/ d0 H var RGB = new Array;
5 I: \% F& u, ~) @7 C var tempSting=colorString.substring(4,colorString.length-1);
9 @6 J) ]0 ^. i4 q var tempArray=tempSting.split(",");
1 W( } |- k! _' a: c# Z- ]/ B6 j
RGB[0]=parseInt(tempArray[0]);8 F1 u7 h2 l7 Y m! L! X
RGB[1]=parseInt(tempArray[1]);, q% ~+ @ E. r( X' ?
RGB[2]=parseInt(tempArray[2]);
. l3 \; u5 Z) n1 `. [* u 8 t, ^; Z) o# P, I) T6 \8 _
return RGB;
* m1 G! G3 e' \" `}
7 J* u) m+ {! t/ wfunction keys(evt) ! K; ] A- T+ G6 W+ F$ k2 }; N- \
{ U) M+ I& Y, X3 d) E% t
if(evt.ctrlKey && evt.keyCode=="81") + G( i5 ?$ |3 v1 ?# K) e$ ?
{ " G) R( a0 E5 H2 ]5 x8 K
CleanHideObj.on(0,1);, o6 b0 B4 K3 e& z* f% C" N- O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 L% f- e/ Q& L$ E5 m0 _+ K) ~' ^
& r6 S4 k5 L# c& a }
3 f7 M h* j% G4 V } . j0 F: y; ]* _$ r) ^
document.addEventListener('keydown', keys, false);
9 C2 K; L ~1 Q, b' u" P' k9 y! EGM_registerMenuCommand ('Clean Hide',( `, }# |0 B1 h3 y$ p1 N
function(e){
4 F: b) g) O) h' h7 gCleanHideObj.on(0,1); U( }, S' L5 R3 I# \. v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 n$ W& C% ^4 n9 _5 f0 ^});
/ v2 F! T6 E, r, M3 j7 j" g3 C8 L |
评分
-
查看全部评分
|