|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + g; B3 R0 \# H& s& Y( f( ^0 Q4 F
5 ^5 U5 Y6 \4 T1 i7 n! Q$ L6 a火狐插件,用猴子" f# M* }9 y1 l$ J; f1 ^
, u$ }0 V0 S8 z8 u) d# Hvar debug=false; - S* I) ^; e! ?; l
var CleanHideObj=new CleanHideClass();
$ m [5 y3 o, E% S* x; N( P- |/ S) o% i$ X+ U# D
function CleanHideClass() $ {. v9 n6 a! a# d/ Q! V
{ , [# n9 J d! n
0 U ^4 \, c" s2 I this.on=function(id,bMZ)/ }* ]. I6 J1 @2 g
{
7 D4 \0 v- @5 X3 c% ~) H
: b6 s: l+ k2 U if(id == 0)6 |) M7 y+ _# p( N1 Y1 L
{# O# w7 J0 Q3 ]8 F2 x0 }" ^ K
var page=/* document.getElementById("content").contentDocument */document; / K+ j0 q8 m; s! p! }! M/ }, Y
this.RemoveHide(page,"span");
. Y5 O: ~8 [6 k) B0 q/ m1 C( D this.RemoveHide(page,"font");
+ c% x5 Z! ?0 I9 Z$ p4 a this.RemoveHide(page,"div");
6 n6 J; R+ d3 B. X7 Z this.RemoveHide(page,"p");
3 Y. z/ E0 K1 K0 m& p8 d+ U
# S% K+ ` v- a3 ~' W; X6 W }
: R l" T& q3 G- `2 F
1 c: j, a7 m4 R" o* b0 q( O }, c) R- e! b& i1 ^# x2 B; D4 f
this.getobjstyle=function(node,prop)
9 M% z/ ?. |" Y. C$ s7 j {
% X/ A. J8 C/ Y+ z% ~/ O try7 ]3 M9 {' F4 D( U J' t! t8 v
{0 F0 x& k: }1 E: F) p( L3 e4 D4 b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ U5 |. J) {. c0 \3 j
}! O9 b" R% c8 d" |( T4 c
catch(e)
+ \* K. e8 x1 p s& n$ ~ {9 h' _; M/ e% J9 y' m" H- G
if(debug)
: p5 [ Z, M5 |6 N! ^6 J0 ^6 t7 d {
1 O( i! o6 V/ a+ v, n6 e alert(e.message);- p* k( ]8 X+ L: s* F
}# B% _; A8 ^/ F+ o$ [3 S' ?
# I; k& E: F1 t8 h+ a* A7 u1 o
return "200";
$ ?4 Z4 ]+ g* l9 E+ K }
* B0 E/ W: |3 w }
* s) n, |) Y) T
: Y. G2 O9 e) Q( b8 o5 v this.RemoveHide=function(page,objname)
5 F/ r! j5 R, G9 L1 h' C {1 _- G9 h& F0 Y l6 m
try7 V5 x% X8 Z4 Y% f P
{/ o8 [% Z, \# M
var minValue=15;
, c1 e5 w. ?$ ^( ? var objs=page.getElementsByTagName(objname);
3 K3 A( |) \8 V* V) O9 i; |& y& N
if(objs.length == 0) , @* J$ |- E+ T) M6 ^
{
4 S/ Q6 e4 x3 W, G$ f if(debug)2 N# O" f' B# t, h. W
{+ o* {4 y# S9 d' M. {
alert("no object found!:"+objname);& j" U8 ` ]5 O
}$ N* ]* N; ~8 B% V
}
2 a! X V. ?; H else
; `7 B D% u3 @1 j( ?' M4 ^$ \ {# q, [, Z( x* u$ K! O
; b5 Y. ?6 `2 D G: K% A
for(var i=objs.length-1;i>=0;i--) % X# C# s" C1 `, L0 T
{
; {. v5 y, L. w var node=objs.item(i);
* k7 l8 H! q% q) A" E 0 F' K2 E# q4 Y" z5 h3 q& e
4 B; |" h: h! _% I% }9 P2 E if(this.getobjstyle(node,"display") == "none" ||6 i5 j& f( Y/ D1 E
this.getobjstyle(node,"visibility") =="hidden" ||0 ^7 a# ~; H& F
parseInt(this.getobjstyle(node,"font-size")) == 0) 9 v+ n, u$ f' r" M
{
2 u4 b7 O. q% ^7 A8 @( b if(debug) G$ V# d. c* P4 J9 K7 i
{+ n( K# x- C8 }" M
alert("remove invisiable!");
& d0 O% w Z, s }2 e7 W, _& z" A, @7 W
node.parentNode.removeChild(node);
/ e& ~/ D% W* P3 a# L" ]* X; P % ^! Z3 S9 L1 n: t
}
& e6 w4 a5 u* Q- K5 d* b8 S else
5 r- |; s- H' v5 q* ?- n) @" e {
, b* `- }9 g" ^" S) L if(node.parentNode)
, R" s) T' l K) Z& l% u. ]% q) } {3 `) O; i4 D5 D) J& B- T2 K. ?
var orgNode=node;
& S/ j$ ?2 T) R2 Q# c4 r4 Z6 D var orgColor=this.getobjstyle(orgNode,"color")
7 Z! K$ ?% a) h( F' C9 t+ } var orgRGB=getRGB(orgColor);
( a8 _: Q& l1 @9 A# Q2 K, D% o5 k 5 B. q3 D5 ?- L" Q! L( V
var parentNode=node.parentNode
! a. h) b: h$ e! K2 x" ~$ S var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 o# l- [9 t, C* G F- G; C
% ?8 x u8 b, j' X' ~ var isLast=false;7 t' X! \3 Z9 [- O9 v
, s- V' O4 V' R1 b% _. A. y. n, d while(parentBgColor == "transparent") $ v1 T& l. m0 M9 I$ c4 l
{: m" [3 K2 b# R/ {& u& `5 F8 E
) a5 m: |: M. b/ \! u+ f1 y- b, s . V4 {9 z' u5 V% V9 i; p2 V
if(parentNode.parentNode == null)
9 z/ j* `4 f, w$ U: q n {( _% f; c% m) |) P1 M
isLast=true;' W! N, N! d- ~+ G1 W3 u [1 [
break;7 S& {, E- x4 k; O
}3 M( S8 g0 Z) a* O6 f: D2 a
parentNode=parentNode.parentNode;
. `9 t2 M ~; y7 I; _2 a parentBgColor=this.getobjstyle(parentNode,"background-color");) x" y, p& y/ q0 [- X$ D
# f/ _% g3 I0 R/ L: O if(parentBgColor != "transparent") ) b3 F$ h$ e4 x" ?/ ^
{$ T2 O8 A+ [6 Q; j4 s/ _: I7 Z
break;
" @: f- R F( T$ f }
2 ]3 Q# B5 Z: E0 a Y }
1 G8 |2 h$ D) x8 Q6 h. [& Z if(isLast) 6 V, i; U" p: y' G0 R: S" U2 [. k& Q
{
- |. a' a- V5 V/ o7 | C if(debug)
) R# L( O! j7 f5 e9 p {1 }% t. o. f. w2 M
alert("last!!");' P" V0 Z2 a& g4 g
}
0 E% V$ W% a# c" `/ ^9 r if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 m, |! }3 P+ v! ]& t, B {/ x% {" @! x3 h* r
orgNode.parentNode.removeChild(orgNode);
+ v: ~6 F7 ~6 n& a }
3 s( X& \& [' W5 I* w2 g8 h }7 k% P* Y7 r0 r" E9 }) w/ F3 }3 y( ?
else7 R1 E' S- |; F* \" ^6 x- @, {
{
5 I2 x9 i6 [' L' S' X9 a3 Z4 ]# _' E if(debug)" N/ t+ i5 z- x: E7 @
{5 g0 \. r5 w& n. j
alert("compare color and parent bgcolor!");
) a5 x2 k, r) @6 m0 ?+ i& L }; W# j9 x5 t3 [ |) s; t
parentBgRGB=getRGB(parentBgColor);
" G# M2 ]9 B2 L; Y0 O if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& D9 c8 \- T0 P4 j; e' K, c' y8 c0 c {0 r' _) Z- ^7 i
orgNode.parentNode.removeChild(orgNode); 4 {4 j& a% [8 o% W
}
/ {5 z8 C0 k! H, v1 }7 M4 ` }& w7 ^5 O% {1 G1 v ]0 c
}0 I* ~( U$ L( M5 R& r
}
0 x* A! o0 d. P9 l* { }
! I% P, o* o. H8 H% \( E }- s, ~% v. o3 K+ T" W
/ A7 y9 i; v+ O; O. n" X ( w; W/ H! n, M+ a% }( K. _3 |
var itemFrames = page.getElementsByTagName("frame");
4 C, k; \) O x. m* o var itemiFrames = page.getElementsByTagName("iframe");1 T5 @- Y: l' O- g6 r9 D ~! v
: h5 k; P; N# W4 ^. K
var frame, iframe;
; `" W4 O* R/ ?: D% d* B _' ? if (itemFrames.length > 0)
$ j4 ~* ~5 b2 [4 R {5 I$ C# C5 L) T+ A; E, P$ W+ {, \# I
for (var i = 0 ; i< itemFrames.length ; i++) 2 {( {8 i5 C0 N
{
/ N4 E! F% `5 U" ^' W ^3 G frame = itemFrames.contentDocument; F) r$ I, g( T, F: i: `, p7 t
this.RemoveHide(frame,objname); # p. v; @* R4 o$ s
}$ B) D# z& `8 K1 y
}
/ u+ E8 Z, r# N. j if (itemiFrames.length > 0)
# B: h0 ?6 `" A: M4 G; D8 a" b {
: Q. |" B# |# v7 K: S9 J% i for (var i = 0 ; i < itemiFrames.length ; i++) 3 Z1 p' ^: O6 e% t5 x# q. I
{
+ u& q4 x' q7 P# d6 s4 a, x iframe = itemiFrames.contentDocument;
p5 n; s6 Z! _& ? this.RemoveHide(iframe,objname); * S4 ^1 n8 w1 M! w3 h7 E. L! w
}
. J9 v9 Q" c, o- l: f( i/ w }
# F# _' ^6 c) e: r- n4 i7 E! q) o: Q }
* h! }5 F1 I$ s$ \ catch(e)
: v |9 Q' I7 \: Y ~& s {
e, l" @& r) m if(debug)
' I% c+ w# O; C6 v, Y {
1 g$ W* y6 m8 @+ t' o alert(e.message);
- n& Y7 ^. E! X. b1 W$ B }
" p4 j' L. V2 N+ y0 ~8 I3 C% t4 c }
% F q, s* p* K, H) c; t. o+ P$ j }3 M2 M9 u: x1 v$ z, K' V
1 u$ }- }% _3 O/ K9 Y6 W& k}! n' f8 Z6 _# U0 H2 h0 p
2 r# D. m1 `2 U3 R9 o2 {% Q" ]
function getRGB(colorString)
' d% Q$ w' }7 |, ^' p- H7 Z{, M- _; H( t6 }7 Y+ J2 z6 i
var RGB = new Array;' F$ J5 n& ?' \. h
var tempSting=colorString.substring(4,colorString.length-1); g- I$ w2 g5 M4 D+ {* y
var tempArray=tempSting.split(",");- e, O& l, O3 u' n0 T# ~8 Z9 U
' t. r5 X( }: g# J0 a RGB[0]=parseInt(tempArray[0]);# j) ?$ g9 o$ q8 k& z7 L) {7 _
RGB[1]=parseInt(tempArray[1]);! ]4 J Y( W) x4 l' |, ]0 P
RGB[2]=parseInt(tempArray[2]);8 q% B1 k' A+ B2 e( Y1 ]
! z/ q9 F2 t/ ? return RGB;
) {' Y' J" Y- q0 N}
" M4 R* ~* P# P8 _2 F& sfunction keys(evt) ) t5 f1 [* k- O9 g; t; W
{
/ p1 w6 ~" w" |, v4 c5 i: G3 L. W) V if(evt.ctrlKey && evt.keyCode=="81")
. i6 G& x0 C4 W { 6 N: q# Z0 K2 M7 w2 b% `
CleanHideObj.on(0,1);
2 J) s( R) o7 Y, ~ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 y, ]" F4 U7 R
+ t% o. o% A" k* v }
S" d7 U7 W) q& _* C( o/ O8 E }
0 ]; A' y( x) O6 @% ~, d% A9 [document.addEventListener('keydown', keys, false); 8 \( \* _( v1 C% x1 J
GM_registerMenuCommand ('Clean Hide',0 |+ \: P" \; K& r! U ^
function(e){
* `8 G1 O. t0 z. r) h% N1 sCleanHideObj.on(0,1)
3 V2 J4 c! l! }$ j# C/ Ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' x' r) i4 _0 y4 ?3 u});
0 L5 c' O; [& |) R |
评分
-
查看全部评分
|