|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . ~$ \8 ?5 s6 X8 w% m& |
( x! s2 i: {5 @' S
火狐插件,用猴子7 H& D8 @0 |; N) N
# B* ~' e9 W" Z+ Pvar debug=false;
0 n$ n3 L" D+ b, B/ vvar CleanHideObj=new CleanHideClass();
2 ~6 r& `2 @2 b9 h! s5 A. N
) R8 R3 m1 x5 \! S. r: A, Ffunction CleanHideClass()
9 U) [3 E3 V# V( i- ]0 w{ 5 c7 N c# a3 Y8 ?) q
/ K0 p+ S& M# @# ]* A) i
this.on=function(id,bMZ)% h$ E3 A8 h% |. {- \( ^
{
, [/ d% {& h: ^- w! ^7 p( C3 _+ M/ v
. |- N( Z! q) F8 W4 K4 F; `. W, F) [ if(id == 0)
0 M6 ]6 J; j2 B {3 X6 ^# `* Q5 O& Z
var page=/* document.getElementById("content").contentDocument */document; ; y9 l5 @: \% z* z
this.RemoveHide(page,"span");! \/ U1 k" H7 T/ {! i; |* h
this.RemoveHide(page,"font");0 \7 `2 \9 d6 p1 V9 g/ p& B" D
this.RemoveHide(page,"div");
0 X7 M6 A- T+ E, a6 S7 \! t+ W+ g this.RemoveHide(page,"p");
: v" e0 P4 f/ M6 [6 b; N# {9 R 4 s. g& p! h& z }5 |% o
}% t8 s+ C& m: {, p0 w( B
' }6 ]6 N* j. l }1 e: j- s/ S) i9 D) {) J- Y
this.getobjstyle=function(node,prop)
! M$ r" I) V- g) p* _* P9 f {$ J) o; |* o8 e- b- `$ T
try
) z( J3 w J, n' \ {
. s' k3 b' K+ X6 W5 d8 | j return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 o7 b! Q) E' o7 U4 `8 {
}) ^( b2 {! Z* c& [& P
catch(e)$ s; W6 |3 ?4 B
{+ a( I3 [& c5 ?% v7 a
if(debug)9 Z0 i' M2 V" z; U7 ^3 K
{
2 f7 h5 B5 R: I0 B- J& V" e alert(e.message);% v b- f6 ]4 z: m
}
* q1 J0 N, o c* ~" }
1 c: ^" i& l) }1 b1 V return "200";
2 X4 f0 {6 \; ` }6 H. u" ^% `$ M( L
}4 W& R- L$ n7 |0 c' Q! q
( D8 l2 |) N- o- } this.RemoveHide=function(page,objname) C9 R6 d% X, |
{4 d; D4 D& m, v& [3 Y4 K
try' h3 L1 ~: w2 x
{9 z2 R0 _, C$ y& W6 O) \
var minValue=15;: f5 |( B8 T- X& e0 r4 }
var objs=page.getElementsByTagName(objname);
- z' Q* m* s6 _6 J0 x5 n8 Z% e R" f3 X6 v
if(objs.length == 0) 0 c. u1 d: H; |9 [6 B
{; l! r6 R) a' k: M, i) R: I
if(debug)4 @7 T! t- J- k% w
{5 m8 g% g2 _% ~# ^" `* _7 v
alert("no object found!:"+objname);
2 k! c; q# o g; t p* z- X }5 r# F% i9 S9 f# H# Z/ R1 Q
}" k" L0 f( v, k. X Y6 P# C j/ P$ R5 g
else
h# f& ?# J8 F {
3 }- K- B, z: D& M& x+ C. @3 ]
B/ _ s/ S6 j' f for(var i=objs.length-1;i>=0;i--) 0 V2 F) A+ `1 C$ R2 c; U! M. M
{
% c2 X# n7 a) ` var node=objs.item(i);
& u8 J8 s5 M0 g" \! J
5 i7 c# k. L+ S3 c( z
- ?4 J/ W1 M3 C# e! |) v; d if(this.getobjstyle(node,"display") == "none" ||: Q% B1 Z1 o, }5 X2 C# H
this.getobjstyle(node,"visibility") =="hidden" ||
! {( N% J% U/ _$ L" [$ G parseInt(this.getobjstyle(node,"font-size")) == 0)
@6 N4 I' `; a O3 L/ ]4 S9 q {
# v8 s* _! n9 R3 [: W8 Z if(debug)- U1 z/ }9 \7 u( H9 u
{7 v( A0 f h. G4 }5 c, I/ O4 z" T
alert("remove invisiable!");) u( E! g5 P3 V; f5 w
}
! E. Q, F, X' L7 ^( I3 f+ p node.parentNode.removeChild(node);& E& R$ }/ |0 c+ \1 T3 m1 V0 ]/ M
" f" ^& q1 L# B& o7 ~4 Z
}
( X* A! L2 a/ C# M0 V: [ else
, m( p: @6 X7 T% Z {$ r8 e: s, K6 H
if(node.parentNode)
. Q) w! r: T; Y2 c& P! O {! k- K! L& [! e+ o
var orgNode=node;+ C8 X8 G5 u+ Y2 T
var orgColor=this.getobjstyle(orgNode,"color")0 J. d! E2 k m- E( A- V1 f* f
var orgRGB=getRGB(orgColor);
! A% N/ }" s/ b" V+ H
$ K9 ~/ x7 S# x, o0 J, U var parentNode=node.parentNode* c: j, @% P' V$ T
var parentBgColor=this.getobjstyle(parentNode,"background-color");
% n( w8 a# g4 q+ ^ 9 A2 K% }0 r b5 A0 U" U
var isLast=false;/ S5 @" K7 ]0 v9 \
1 c6 K7 U/ S, T& M while(parentBgColor == "transparent") - ^! `; k# N) W7 G- y: ~
{
8 `! l/ f2 E1 I5 O+ f
" A7 \8 l# R0 u+ _! n
; Y; y) q7 r p/ Z5 ]* l if(parentNode.parentNode == null)
4 d; ~+ c3 Q6 a q7 _" K {4 V; @/ m+ T% X' K1 V* G
isLast=true;" y5 I# m) x2 |0 t. J
break;+ N. z8 Q- }" c4 r
}: X5 A5 }# U0 q$ a
parentNode=parentNode.parentNode;
" e3 u! z. F5 p& p+ u7 { parentBgColor=this.getobjstyle(parentNode,"background-color");
7 ~; r, ^ U. w+ E
9 q7 v! x0 R5 g: D/ j% q# E if(parentBgColor != "transparent")
+ P9 H( R& X$ r1 W9 `3 i1 n8 u {
* `( d6 n) p0 {8 E1 D4 N break;+ U2 I; Z% A7 M, o" |. s# a, B# V6 v
}, m& _4 ?# v3 T* \6 ^2 A: c
}0 Y0 C- b1 `2 S+ K: P
if(isLast)
. q) Q; h9 Y" h8 Q2 ~/ c- ^2 E, L {$ V; k3 M1 G7 N! t/ q' S1 _
if(debug)8 R) `+ u7 f# M! W$ T
{
7 F$ v4 Y7 d% l0 d alert("last!!");
( U" C. T# f" S b i. F" @3 g4 G }5 X& L; ]- U; ~9 n
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
0 X! l& d+ @9 r, A, I {' R' q% M6 w/ p7 y2 }
orgNode.parentNode.removeChild(orgNode); $ B) X( J' `5 e* d# l9 Y k
}0 O4 U& U4 F) d8 t: I6 O
}/ X" J7 E8 M( u) z$ n& @7 v1 K) h
else
+ C" g$ s/ v. L } {2 l( j+ S+ p& t/ |1 G( t. m2 p U
if(debug): c! r1 T! f1 y! B+ g- E+ |9 Z
{" K: @3 P- m6 A. K
alert("compare color and parent bgcolor!");( B2 V# P5 S" U; Y
}
) q5 w1 o i8 ^1 {. M! J' | parentBgRGB=getRGB(parentBgColor);
0 X6 }9 c5 L* p. z+ L( |" |, d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 o8 ?# \$ X+ K$ C. F; D
{
' I7 z. N( @+ g orgNode.parentNode.removeChild(orgNode); ) g6 [* x# ^6 _) f5 s6 e
}
! W0 A& B# q9 O. q }
) N# J& S: O8 L) U0 [. m5 R( T4 {$ O }& x2 z K: G: [5 K0 Y; {# u7 _$ H
}
. l. x6 {) e% M+ R$ x' Q% m# i }
0 R: `# y0 w1 j, v: v- I }
2 W3 F7 ~3 |& A + Q' }7 w) X- q# Q% _
7 y1 u$ t+ S! H/ G: u" m
var itemFrames = page.getElementsByTagName("frame");0 Z% T" ?; g9 K
var itemiFrames = page.getElementsByTagName("iframe"); s4 v. F/ K4 U) Y& k4 C
1 }# c( `% K- p5 q
var frame, iframe;
9 G) A& t0 s5 K0 j if (itemFrames.length > 0)+ B' d7 Z$ w3 |; n4 I1 t
{
% u6 `- [1 ~6 W0 Z8 |# N: F' j for (var i = 0 ; i< itemFrames.length ; i++)
L1 W! _# V* h, `1 C {8 N& r8 I3 V$ W k7 G I
frame = itemFrames.contentDocument;+ `8 \1 ~- \3 p) E8 i3 G
this.RemoveHide(frame,objname);
( [/ v/ t* x" L# e3 `. o I }
9 W/ W* c2 x' l( T2 n6 z2 c }8 r% b& X `, J6 Y9 V
if (itemiFrames.length > 0)
0 w6 s4 q0 F! O; v5 \9 j0 N4 i {
$ e( N; @7 `' i9 O& y8 O/ b" B for (var i = 0 ; i < itemiFrames.length ; i++) ! F( R* E4 Q& G: }! e- W. @
{
2 F) ~/ V1 I, E- Y! }. U; e: g iframe = itemiFrames.contentDocument;
6 t% M0 i1 j M( _* \, }. r" R$ T this.RemoveHide(iframe,objname);
. n& s: f; A" h6 w. G4 g& s! y }9 D0 i8 t: N5 w
}& c3 |6 C+ k1 }! L! C7 R, p
}
1 p6 s9 u! C! T/ {+ ? catch(e)) h6 L9 Y- A4 q# Z I5 m1 ~9 r
{
: v; O0 j% u- ~' w# u+ X* L if(debug)
8 H$ B6 o; U$ a$ F6 S, P( ^7 g9 x {0 V/ D, ~( |7 @( L Y
alert(e.message);3 t/ I( B: ?' H) Y) J/ M
}
5 A& G8 q7 A% E" a4 c }. R5 i/ n0 E |; P$ F
}3 L0 i+ r5 G) Q1 R" a& w! z7 n. u, g
7 T3 m) c ~( q}
; r' ^3 h: K' e4 `% Z/ D6 f9 D! I9 R6 o8 x' d6 K# {6 j1 ~3 j7 j
function getRGB(colorString); {) a/ j _& v
{
" D, [$ y! _4 ?6 G, _ var RGB = new Array;
. _) O1 D! H9 m* C; F2 L var tempSting=colorString.substring(4,colorString.length-1);
, Y) b0 H: H' q var tempArray=tempSting.split(",");
" r0 B7 w# X5 Z) W% Y2 b7 W5 h& m9 y. G+ y2 K2 o
RGB[0]=parseInt(tempArray[0]);
: v6 p* E$ Z: n RGB[1]=parseInt(tempArray[1]);6 D( w7 \* y. n' v. t* c
RGB[2]=parseInt(tempArray[2]);
7 [5 c# m4 F# P1 s/ y2 q4 s- F0 j0 q
# {! g3 K. C* l) d8 i return RGB;7 d* I8 F4 o1 p) x2 {: e# N3 G; j O
}
" o2 V" o3 z2 o8 ^9 _% j3 Mfunction keys(evt) 6 B# E9 g p. \+ A8 [
{
& Y7 z1 i: r3 q3 ~. Q/ _ if(evt.ctrlKey && evt.keyCode=="81") & W9 Y& Z! w; B+ U5 V( O1 i
{
* Q7 y4 v5 R; I CleanHideObj.on(0,1);
6 P+ j; n7 v+ j+ t( c alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! N$ w/ N+ A4 Y) f1 _# v9 I
( o# ^, [8 G% T& v% Q3 |5 N3 V }
' N7 W- |! c& Y0 v: {- i }
# K0 M2 C$ F, n/ H( k! V7 Fdocument.addEventListener('keydown', keys, false); ) F O6 F* p2 M3 \' z* B
GM_registerMenuCommand ('Clean Hide',
z( m3 Y/ V. Y6 V, v0 e2 A \function(e){5 ]9 c3 N: q5 {
CleanHideObj.on(0,1)
! Y3 y; b2 V k$ _# n4 ~/ yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 E8 L7 {. w( N9 _8 i});! P' m& K, C4 o: [& A7 l
|
评分
-
查看全部评分
|