|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) n/ ~! I0 @0 G9 [* F" y
- ^' ~) }2 v' y, W- ^
火狐插件,用猴子
5 x. L6 D# G" v0 g0 k( k
8 v+ }4 d6 q" X' Kvar debug=false;
& S: k+ T5 i0 P/ U, L( `7 d) j& W r0 Vvar CleanHideObj=new CleanHideClass();
2 h- L( y. l, x: N- }
2 F, ~# {6 f! K* t6 Pfunction CleanHideClass()
$ }: x9 I+ e" h; L$ Y7 u{ 8 W% l) x8 _7 Q" _, r$ _( o
, X( w+ r2 {: v/ h% L# p' k
this.on=function(id,bMZ)5 d; r4 t2 C% c( C+ F
{+ A: N/ X" ]1 t( _+ X! N% w* r
5 ?8 R& v% a; ^ if(id == 0)% N7 j1 @' x! p# S. {# v! v
{
* {, z- k/ c; b) I, W9 W var page=/* document.getElementById("content").contentDocument */document; 0 U% Q6 K2 ?2 U. B' w' y5 |/ F# j
this.RemoveHide(page,"span");% d; y0 S ]2 X& n2 ^5 x' A
this.RemoveHide(page,"font"); {: U! I# E5 r* l! I6 O
this.RemoveHide(page,"div");/ W! L3 ~: b& t; z4 M
this.RemoveHide(page,"p");* E% o2 x, H5 ?8 n5 W
; G& {: e7 s* T- J A }
% z9 g6 g1 |* H4 P2 `. s. t 3 m8 o& g* T3 z! A
}
( }0 o% D" D1 Q' N1 L: W, g# d this.getobjstyle=function(node,prop)7 p# Y3 E+ Y. N! m1 s: A S) j
{
3 Z7 t& j% r; @2 f ?6 f. ]: k2 Q) e# a try
7 n! W$ @0 m" o1 H+ n8 A( r {. p+ x+ H/ x: D/ b0 p
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ }. j: |. r& x/ S" O0 u" @ c }0 W& ^6 t4 ]- H
catch(e)
5 t9 [6 [% t1 t$ W {
% O7 H6 Z0 M: X6 G% F# o: O if(debug)2 B! m! E3 T* P7 n' [ Q3 g
{
4 {. ]: x: X) z alert(e.message);; c6 N K, p i. J
}
# _: \0 w. t0 M
5 T8 y3 a" e3 _) l return "200";
0 j* I5 j* H) y) }8 a8 H( a" \ }
. |* D/ p! e' p) _ }8 _# j1 q- E) t0 q
+ {) J2 s& { C0 T0 z, P
this.RemoveHide=function(page,objname)
* R5 o/ z/ p* x {
# W9 [2 {* o0 \5 p; |# J' l try
9 J. [/ |* {) `1 I" j/ }7 u { f$ P+ }2 R4 Y/ U: K, h
var minValue=15;
$ ?& | W w4 B! f! X0 I, t8 Q var objs=page.getElementsByTagName(objname);
+ T) h. @( M$ e5 r$ l2 U
3 l0 V, B8 ^# n1 y5 ` if(objs.length == 0)
; Z' h; ~/ i( e- _ {! C* ~6 H# {: b8 v1 s" Q% J) G" |& G
if(debug)1 Z" Q1 ^7 p( J* E
{
7 l2 e0 N+ Y3 z7 ?' i( ^ alert("no object found!:"+objname);5 Z2 o4 t& q* h( H3 h
}
6 v' P: W6 a# I/ i2 G4 H5 L. ` } c7 {2 y% f8 C; @" K; V
else+ {1 c! A! h# q
{% E+ }7 z1 p# w( N @
# ~6 w# s j3 `2 t: y c for(var i=objs.length-1;i>=0;i--) 1 Z" e# E% h+ R0 a
{% I0 N& x! l) P8 k% ?: e
var node=objs.item(i); # c% P S" Q3 b0 A% |# X* L! _
5 F7 y% o9 ^( x' ?" F$ D 3 s% C- Q& a7 H: R
if(this.getobjstyle(node,"display") == "none" ||
" ^0 m b) Y8 K0 V5 J2 _ this.getobjstyle(node,"visibility") =="hidden" ||
. N. | n. p E; D, l& h9 f% C parseInt(this.getobjstyle(node,"font-size")) == 0) 9 r7 ]* p; k' Y
{
! ?/ n0 U( k) e; k) k' C if(debug)
# ~& k1 f+ |6 }* ~0 A6 B: e {
' s, D( l9 ]) L5 y% k- a alert("remove invisiable!");( M5 j2 X; Q5 m
}7 j) X, B3 N/ i6 u2 `( n+ E
node.parentNode.removeChild(node);, k: t' N- I# f0 ?, h
7 X! C0 z0 A5 o+ \9 Y v. c P9 |
}9 u1 ]7 j0 r% W
else
$ k# ~) A* p. P9 j$ ^! i {
8 S) K0 o+ @+ b' h* f9 V, X4 { if(node.parentNode) + y' `; b. |( i: G
{4 u+ I1 @2 k4 G4 T
var orgNode=node;+ E! G* y( H) S9 ]
var orgColor=this.getobjstyle(orgNode,"color")
7 q2 W5 h* d4 J. h1 m& s var orgRGB=getRGB(orgColor);
2 T- b5 K, A% y) {* j 9 ~. d+ h% Y* i
var parentNode=node.parentNode$ `, e; T0 X% B8 z1 J v+ q" A6 O
var parentBgColor=this.getobjstyle(parentNode,"background-color");
# e1 G" N: v1 r
* p& f0 e z' U$ L i8 @ var isLast=false;
! b E' W. b* T % t2 f; C/ c c
while(parentBgColor == "transparent")
+ B( X$ ^" Q1 Y+ K o; f% \ {
' n4 N6 V O/ N6 o
) n: i' V9 v( N+ M $ @8 N9 m4 a! a: J
if(parentNode.parentNode == null)
6 A4 T, @1 i# @4 m3 e( a {
% }+ I# f+ V" ~" ~0 y isLast=true;( e! P1 H0 P2 Y
break;0 G) t3 N* ]9 N Z; U4 x
}3 _" W& r( |9 ?' A' O. |4 D7 ^! f
parentNode=parentNode.parentNode;
- E- a) p/ s, m$ k. s# H; E f8 w parentBgColor=this.getobjstyle(parentNode,"background-color");1 B" a3 R! J3 m1 \
, I# h8 f* R4 Z" R if(parentBgColor != "transparent")
% Z T' |: l$ C6 F4 s+ x$ { {
& Z3 u- L5 |' r& D( N* ~% l4 }5 E break;
! a, [4 r7 F7 M# }- V }# Y; d. s1 g* ?# @8 O
}; S# Q1 [6 C! X+ u+ C
if(isLast) ; Y# a( h5 [, b% w' q( _. D' ]) ^4 @) W K
{
% u+ m- I, d& { if(debug)
3 @1 C4 k( X5 i: e$ m% ? {
) ]2 L3 J4 M: s& a alert("last!!");
! W1 s9 N1 [8 x }
5 J' X6 \% y b# \& i if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ }7 r$ F& Y( E$ Z! N
{
# k: k u" n- z6 B/ A" [ orgNode.parentNode.removeChild(orgNode);
6 F; b$ q% K3 o }% [& j7 Z! D1 t( ~
}1 l n B$ w" K) J
else$ K' X/ J2 P4 t, B( M: n' S, |6 p* D" V
{7 f2 F3 {5 A2 w: D" \9 J$ ?& B2 {
if(debug)
! q ]( ]( L% L! ~0 N5 ?! |5 z {( K4 L8 N$ b# F/ X
alert("compare color and parent bgcolor!");
; [. [! Z2 B7 ? }
- a( A/ @4 U. v/ B parentBgRGB=getRGB(parentBgColor);
+ ]/ @9 H; i- H9 V1 ]+ N3 }# ` if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) \9 h& s' Q% I* v+ H {+ f9 |/ K) A3 n; A2 l+ Q
orgNode.parentNode.removeChild(orgNode); 0 j( q' L) g* b& H } O
}0 ], u" k. J, Y- v/ ?0 k
}
% K X7 u- ~0 [0 W# E }
( n, h. U+ j3 d, f8 Z8 f }
2 \, `: `& e8 t8 E( {6 r! i) u }
. X0 M6 p9 p) T' R! B& K8 W. g }
+ V8 x+ \1 v' V b& P/ u # b& j) Q( O! v7 n* a# d
% y5 u4 ^+ }5 L% f
var itemFrames = page.getElementsByTagName("frame");
* }2 `$ L4 `& R- S# F% s/ k var itemiFrames = page.getElementsByTagName("iframe");
/ z5 P* G9 u* N! T& o" L+ K - U0 w. Z" L- ~/ t
var frame, iframe;
, J- m7 i( J s# X2 C if (itemFrames.length > 0)
) U* H$ u- [7 z5 p/ {$ V {
$ i1 J% x, ]$ P6 y for (var i = 0 ; i< itemFrames.length ; i++) 6 n. M/ u2 K( l6 Z8 `' n' K
{
- d% e; o$ C. a( n2 w3 A6 m8 z) F frame = itemFrames.contentDocument;
$ i& W/ [+ j/ ~4 i7 O6 p this.RemoveHide(frame,objname);
: ]5 U+ R Z m+ r4 z; p* U7 r }
3 X2 R2 M- q0 j. a }
2 g6 B5 c5 ]3 w+ C# g" a if (itemiFrames.length > 0): [2 t- w! |( Y2 f* K1 z# T4 n
{5 v$ V( u% l( S9 O- d
for (var i = 0 ; i < itemiFrames.length ; i++)
2 W3 @, ~; y; x2 H7 h- k# n" a {5 h* r1 p9 X5 D& ?, ^2 v
iframe = itemiFrames.contentDocument;0 |3 m" t% L+ a! z5 m8 L
this.RemoveHide(iframe,objname);
& J' S! H Z' Z2 {& }; } }% W) k) `, d% P( c* q
}
" Y) W, L! e" x6 y' a7 @! ` }: I z) [: G7 t( D" z% X9 Q
catch(e)& b+ W0 M4 f" e4 A
{/ @- @/ G" A' n# e
if(debug)
8 ]6 _, n+ E# p; _- X {
8 `6 U3 x( n& p0 X) p. ` alert(e.message);
' d+ l$ j( J2 a }
. C+ ~; C* I) S9 o! g: K% h }2 g5 n' d+ l/ _! i& ]1 j/ E
}5 k, ~, |9 s' l' I P. _
: |7 ^! @% ^2 ~2 x( Y}) q# H! P0 r R3 t6 Z- Z7 N
! |8 V* S T4 [! N( c6 |0 U! hfunction getRGB(colorString)$ A8 |. \' F9 J+ m1 ~/ |! {
{/ Z# r3 t6 }4 d$ `) }% y
var RGB = new Array;
! ?, r ` @) Y; _. ~ var tempSting=colorString.substring(4,colorString.length-1);
+ S6 S& Z, `; E0 M2 O% N var tempArray=tempSting.split(",");! s& Y) H; T0 [( a& _0 H
8 k& J% ~1 T) L; V# e
RGB[0]=parseInt(tempArray[0]);
! o7 }# l& k* h& m( O4 ]* Y RGB[1]=parseInt(tempArray[1]);& T1 V7 ^% n2 M) v
RGB[2]=parseInt(tempArray[2]);8 K V; P) O1 P2 I& H
9 |: S% ]% \, `" K% h
return RGB;
4 d g! A( m9 r9 P}4 T4 B) K% r" e$ \+ M6 g5 p# M# T: l
function keys(evt) ' r6 Q" r' o" S# D4 _. R
{ % i& w& z: _' t, u$ X& d
if(evt.ctrlKey && evt.keyCode=="81")
2 U: \: l# `1 h- I% _7 { {
?3 R2 g' A* O2 s5 Z! e CleanHideObj.on(0,1);& p# V; J. W9 N/ m0 Y% g6 c
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# S- L/ I N0 c1 g3 j G, q8 K, V
# o3 u/ y7 `- {2 x9 v$ z$ T } , C9 l6 E( i' A8 Y5 J% o
}
$ [+ B. A! R% b: L' ^: A1 r% A! F8 mdocument.addEventListener('keydown', keys, false); 7 H; \; F- x3 N4 q
GM_registerMenuCommand ('Clean Hide',
, t& g- X1 c; j! M% Nfunction(e){4 C& x2 f* r( ~; H
CleanHideObj.on(0,1)
6 Y- ]1 Z, D \2 `! P) Z/ e3 Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");; g: ^( C u/ _0 h
});
/ O( A8 j: m/ @9 J3 c5 y- n |
评分
-
查看全部评分
|