|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
0 |! R& F* i7 u$ \& ^
. b& R; ^* t1 i4 P% G火狐插件,用猴子
0 i2 Q8 @1 G a% B# r2 f
; k1 h: n' F' b3 evar debug=false; 2 }, N/ ^) M4 ^' n
var CleanHideObj=new CleanHideClass();
z7 _9 H( ~. j/ M! S$ b6 ?2 f2 F3 A K9 `( A
function CleanHideClass() i5 I/ P4 x' q2 v
{ 9 \! X; m" f6 ^. j
1 ]# d+ a! A! k
this.on=function(id,bMZ)+ B4 q$ T9 _9 b# I j) `& M0 d
{& I& }" i) ~ w' P6 r$ b* D
5 G5 l0 p, a. N
if(id == 0)7 {% G/ j! r4 L+ a& o
{
8 G# e% y/ C, k2 {5 J/ i var page=/* document.getElementById("content").contentDocument */document;
5 ~3 r5 W2 Z5 M& S this.RemoveHide(page,"span");8 Q: n& Y& G- V0 d. b- N
this.RemoveHide(page,"font");' B" ?" p5 K6 m& a t
this.RemoveHide(page,"div");
5 r6 T& [0 q) x' }. G this.RemoveHide(page,"p");+ R* B) Z& S. [! G3 R! ~
4 U7 I3 v! S( ?* E5 x5 @/ B }0 j: {: G# X0 F7 f b
, j. N' U" f9 r
}
" m/ w R8 p" B" l8 u; T this.getobjstyle=function(node,prop)
, Q* z0 w: @5 T# x- v, V0 G; i4 ^ {: u5 a6 `* j! p0 P9 I, t
try
" j8 W. |: z* j {
+ ^1 l# {: G) h6 ^1 e return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, h2 T% {6 S/ u1 y6 T }
; B2 ?3 e" {3 L P& B: ~ catch(e)
0 F8 }6 M: f* j# Z {
# _+ ]6 E0 X& R. ~5 T' l& C q% q; d if(debug)
/ P7 a, |# _: ~7 Z {
5 H4 `0 z1 I- |4 D alert(e.message);
# B8 j; n! l. s, w }& j+ R" R+ N) \
1 U1 a# i7 E4 p- C2 B return "200";
3 s4 l0 t! s. z1 H }0 T/ \8 h0 x8 K! t" D
}
/ d+ q3 |. w: G; k( \- ^: I ! k* S4 S7 R* W% k2 r( Y0 p& E$ `! I
this.RemoveHide=function(page,objname)1 ^/ l* ? y, e- L2 b# F/ d- Z
{
8 z9 Y5 ?$ A! d# ^! r, {) Y7 B try
) E2 R+ s' q$ X: D# K r {) x' @8 z! Y1 p! v3 ]9 I- ^# |
var minValue=15;: c) X0 `5 q; V; P. R5 X, e
var objs=page.getElementsByTagName(objname);
1 c" _2 j, L) |/ A8 Y4 U k
! {& L2 i; P, I' T, p, V) }+ v if(objs.length == 0) 5 a) A# w4 M' H; A- A4 y$ _+ c
{, v) z H3 D) W
if(debug)
+ ?4 J, v3 C# a" w( w# ] {4 {, P, b% P' T0 x6 z
alert("no object found!:"+objname);
8 `; O7 g$ z$ e1 I8 k- d9 u }
1 o8 g0 e0 B7 i) A9 r0 f+ f+ M/ V4 H }' A5 R$ S) b# S( H9 }! Q& C5 U" [
else! i) n# J: k P! v7 B& c8 N
{
) \1 G0 G! |# V' }
; ?3 d) x; a: i5 m* j for(var i=objs.length-1;i>=0;i--) # I, |% _$ r1 U3 h; J; w8 Y
{
; d* G- A" w) q# u var node=objs.item(i);
6 T: Q2 _ l4 |4 C
6 N4 j+ k7 G/ r# q' v) r4 T3 O
/ \* G4 n9 @4 v if(this.getobjstyle(node,"display") == "none" ||
0 ~% |: p' }* T# T" P this.getobjstyle(node,"visibility") =="hidden" ||4 }" E$ f* j8 I( b9 [* v$ G8 {3 m
parseInt(this.getobjstyle(node,"font-size")) == 0)
) _. N+ P- t9 w, S3 z {4 w' d8 H6 i$ B: U, E& y; _' a$ S
if(debug)
, _6 ~* R v5 _! ~, s, a; H {
+ ~ r! W- f; J- H; t alert("remove invisiable!");$ i; c3 n [+ |; r0 F$ Q7 \+ t
}# T7 x+ I7 w$ B0 |! g! b
node.parentNode.removeChild(node);
) N6 Q3 V* P4 O g% _2 G7 w 2 ]7 ?+ ^4 e; Y# A* p
}
; m. E7 ?3 _" k8 ~ else
) W! h+ Z& e5 t5 q0 v$ D; a, s {3 {) L( l$ g- V4 M! E( X N V, h8 n
if(node.parentNode)
9 O, c3 X7 c2 X( i" e- N3 q {
# j7 A" c( Z# V' ] var orgNode=node;' s% `: o5 V5 C3 s6 m' w
var orgColor=this.getobjstyle(orgNode,"color")4 }9 T0 u6 l5 x* i( ?# Y! V. a
var orgRGB=getRGB(orgColor); + B* g6 } o* U, r
$ n! l0 ]5 J7 Q+ x2 z) L0 v
var parentNode=node.parentNode ^$ |" E) s6 F) v6 k: A8 s
var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 A8 B z2 B1 [7 @% x' S& G 3 N! |" b# l: k1 d# r1 y
var isLast=false;
. b1 c- v) P0 U ' V6 d( E0 U- ^$ i) Q* W+ O3 |
while(parentBgColor == "transparent") ' ?( q% V% P; G, `
{9 B" S1 a2 \/ X, x6 U- m( A8 x
5 M9 D4 N$ L7 h2 B( e; C. V
! c% V3 B" v( R$ J$ N! s$ x6 {4 @ if(parentNode.parentNode == null)/ ?$ C$ z r" y% x
{8 {# r6 b& ?, K3 f9 M
isLast=true;
# U4 S- b9 P7 c4 I1 h4 C1 k/ A break;
2 ~# x0 S% q3 |) u3 c5 m }; Z6 w3 M% m& n3 d8 P! Y
parentNode=parentNode.parentNode;
. N0 ^& t9 Q& j parentBgColor=this.getobjstyle(parentNode,"background-color");
3 _+ R, D I' t) W& |' o/ G. l; E3 g
if(parentBgColor != "transparent") ( M) x6 C1 M( x8 [3 f
{/ W9 n- |: c7 j( o9 n" j. q- J1 o
break;, R! p! c& q6 [1 _& ]# ~2 R
}
7 l* O$ \8 P' V ^ }6 T+ l, p+ h, U# w
if(isLast)
4 F- m/ q7 X4 Z: c r# g) _" q X {
! f- F5 `/ k0 C% F if(debug)
$ @" r1 A E" z( p; [. B {. l, R* k) i$ O- j5 T
alert("last!!");% b5 D+ B8 S+ s( s
}9 i. J! t5 v# f! V4 r
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 J' t, _6 s. o8 {0 X) r
{
; q% H: ~0 k2 ^5 W orgNode.parentNode.removeChild(orgNode); - u' p6 [; X$ R2 @
}0 v$ m5 u: B8 ^3 Z0 |# g; A/ y
}
c; `8 X6 ~! P1 g else: Y; n1 h4 l& h5 x7 f& W
{" D& r( F; c$ B+ {+ B5 n
if(debug)/ p m* ? Q. l
{, O3 H# a* }, X
alert("compare color and parent bgcolor!");3 r- p" e: x( G
}) k' h* R9 n: b0 H' q
parentBgRGB=getRGB(parentBgColor);) n; {1 w9 ]2 [* }0 X) j1 I
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. \9 ~( Y7 r; P, w' n {$ n# u8 Y7 d# X) s9 O( o& b
orgNode.parentNode.removeChild(orgNode); $ ?" @8 g, S7 R! u: J% y
}$ n5 }. m2 o! A5 C# K
}
5 h- l, k+ e9 X6 R/ t }
" [1 z$ u9 v5 \- K. ~ }
+ v ~1 W# x) V2 Q% k3 A. I }
% u- J0 d" @5 L7 }- j |- |2 M) I }: J" F/ C& r" l8 r1 M
7 z' H6 |/ _" z6 d+ @* \ ; u* e/ E# ~, P+ ?" }
var itemFrames = page.getElementsByTagName("frame");
1 ~; B5 a( O6 `" |* @& ? var itemiFrames = page.getElementsByTagName("iframe");
" {, B- ?/ K4 n4 `: t" z3 x/ ~' s; v ; _/ p$ l3 N6 y n. h
var frame, iframe;5 }# ~) I7 a) K$ K5 \8 }
if (itemFrames.length > 0)
" A9 H) t3 g" _9 ]2 l4 e1 s- F {
. K0 N* m- w" n+ M for (var i = 0 ; i< itemFrames.length ; i++)
# m5 i( ^( N0 f8 V# m1 ?; J {
0 a) Y3 [3 { f frame = itemFrames.contentDocument;" z: R' `; i) ?$ o( {/ X7 a
this.RemoveHide(frame,objname);
# _' W, H! a( O! s }
5 h7 ]' G* S. W. | }* C) d" a- ~! R( t
if (itemiFrames.length > 0)# G: k e9 W% g# O1 X
{
. v7 B5 k3 r7 {6 O3 n D) D for (var i = 0 ; i < itemiFrames.length ; i++)
2 \' E4 L1 Y0 D9 y- R {) Z! P0 E. c/ ^
iframe = itemiFrames.contentDocument;
3 H# c2 L! a4 q this.RemoveHide(iframe,objname); {+ A5 y3 Q5 C# w% T
}8 P) I: z7 k' X" u' D
}
3 z' R3 d3 J1 B }
! w- v' R/ Q; J$ s8 `4 E/ d/ p( Q catch(e)
: g, s3 I" i# s9 A$ Z$ d$ C {
6 Y' K; P# ^: c4 `/ B* y$ R if(debug)6 i- @! W+ e: @$ e- O
{
8 b$ a+ W4 h- b- z alert(e.message);' O0 H! [' G2 H" H" W7 i
}: y S7 F+ G3 u$ W1 ^0 C
}
" V3 Z% x7 {. w! d }0 t1 F/ j4 b4 [% U+ q
1 ~; l$ H' v& P6 q3 R
}. S. h3 M8 W* B' m8 g$ C
1 A c' {# P H/ i# \( H3 rfunction getRGB(colorString)+ t9 `8 c6 O" u( D1 G( [0 A; x
{6 C4 w7 @9 o, }
var RGB = new Array;
$ j Z2 Y/ p! H. A( e var tempSting=colorString.substring(4,colorString.length-1);7 l' K* }5 E6 X' l* X$ I
var tempArray=tempSting.split(",");
7 h% K$ u# e& B
L& N- e& h8 L% J RGB[0]=parseInt(tempArray[0]);. v0 E f0 e# E2 ?
RGB[1]=parseInt(tempArray[1]);
, n! u+ b0 ^, [! R% p& w( h+ j RGB[2]=parseInt(tempArray[2]);
& H9 H. J$ b& e* w% b* D7 e$ ^
2 b/ o! ^% y* r. p( I return RGB;$ W. x. C1 P* c8 x1 Z- A/ q! q
}9 y" m- i$ u& b
function keys(evt)
; X3 V0 q6 n' c% ]: }2 M { 7 ~4 e4 N8 O H5 F" R! m
if(evt.ctrlKey && evt.keyCode=="81") - J0 k1 w% Z) C# u% I
{
( ^0 u% E" S/ l. m3 Y% W0 m CleanHideObj.on(0,1);
3 B: X. ]9 n3 A alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 a: K/ _/ | y& n
* P; s7 u8 M4 F5 L9 r T
}
# w1 C9 }% }4 d }
5 c6 r' G% Z0 J' n- Rdocument.addEventListener('keydown', keys, false);
1 u* J" A" u, X, |( [- [2 |GM_registerMenuCommand ('Clean Hide',
' O( j+ O- Y% D H' z- H; vfunction(e){
! X9 l/ @1 K5 \ h8 H3 TCleanHideObj.on(0,1)
6 d% P4 i4 P1 @# @) xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 J8 W! [% v& j6 @8 ^1 N});" q5 B/ ^4 y K% e) U6 h$ m* |
|
评分
-
查看全部评分
|