|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 }. H* Y% V8 D, y* X% w: u
- l0 _3 [- d9 p
火狐插件,用猴子
3 M; {. o8 H: ]- _# s! ~" H
1 f/ S8 ]! O9 Z4 xvar debug=false;
3 ^4 H' z* v( gvar CleanHideObj=new CleanHideClass();
" n" ~; d, f8 d, X$ m* ~( C; `+ A, T# f/ o, S6 G0 R1 h$ K
function CleanHideClass() ) u: f E) J: ~$ D/ H
{
6 O! q( _1 u1 b N( k' w - q8 G+ K: l; d
this.on=function(id,bMZ)
5 v% M/ J# j+ {9 A# X {% E& @ Z" @/ @5 u0 M6 A
4 X( Q" A9 g+ Y( A/ X2 ~ if(id == 0)- u$ j. t. \- j
{2 o1 G, g1 O9 o; I; M/ g# Z
var page=/* document.getElementById("content").contentDocument */document; ; W( S. L$ l/ i# a1 r
this.RemoveHide(page,"span");
0 a8 k4 R4 q0 t: N0 n$ i ~ this.RemoveHide(page,"font");
: J1 u, T2 R1 B2 w$ [. Z this.RemoveHide(page,"div");& F' I, h% p: Y: h0 l W# ^
this.RemoveHide(page,"p");
+ z7 L9 \2 G; d( C4 u4 V
+ J3 [! ^3 E* _ }
$ ]! ?; H6 O' k, A0 ]
% P& w7 V" Q( A0 u2 |8 I }# I0 `+ t( b* ~) t3 }6 r$ n. S: B- w
this.getobjstyle=function(node,prop)
1 S7 a3 \ Y% d, @ {
. A$ M5 p v [5 v try( f9 w7 }3 e! F- l
{
6 s C' S* S0 C( X3 f; {7 ~) V return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: x$ J* c% R7 b$ [4 c& @) ^
}( D# H1 Q3 ^/ i8 x8 V# Y3 n. Z
catch(e)
& k" X# ^1 p& D6 a {
- j3 Z& O4 z6 w" K if(debug)4 W+ |9 d1 w3 O E
{
, L9 F) b3 W5 X# A! @ alert(e.message);
1 ?4 Q+ p* a" l2 D. Z }8 {% q8 ^0 W+ [
0 R' Y8 |3 X, N& i return "200";
. d5 ~$ S1 X* Q }7 R4 J/ A5 v) \6 T4 _- t9 r
}" G' T! y8 H3 G# d6 J
( g$ {$ j' q4 V' G; p* }4 _3 x7 Z
this.RemoveHide=function(page,objname)$ q+ ~6 A- ~) k3 W9 I6 J* }* L
{/ R5 N; T. [2 L" g4 p
try
, k; g. _) y$ j5 P: ~, ]5 Z {) n1 M1 V1 D& P+ U
var minValue=15;8 n" ^ Q: {6 g
var objs=page.getElementsByTagName(objname);
& F$ L: V) q8 i8 V) @( L4 V& p' x Z: {' ~' j
if(objs.length == 0)
a4 G4 z0 [8 v% p; u& @8 J {
3 T9 }' S& X$ t1 {) M2 ? if(debug). G& {5 t% } g7 d
{9 p1 ~# x, E: V! ?3 Y
alert("no object found!:"+objname);6 F4 E4 {9 s; M3 q% k+ j5 N3 c
}
: i8 R& H$ {- P% J: \0 U" o }
. h: E! Q& T5 j' }. B( r% k) n+ x else
+ P: i5 b7 |, y! q {
% ]! n& S; G; ^# K
: t# t. C3 F2 p for(var i=objs.length-1;i>=0;i--)
6 b) U* h U8 {# @ {
5 b( V; L6 @0 A/ u0 F var node=objs.item(i);
5 \/ K7 a& F1 V) v" t w. O
& I2 ^; y n7 V) G! p2 l+ w* q 0 D( ?" ~( m9 b6 v$ @( H3 e
if(this.getobjstyle(node,"display") == "none" ||
- U8 c0 b; n! h0 C/ z1 h, C" ~1 P! ] this.getobjstyle(node,"visibility") =="hidden" ||
0 Z* D; ?2 b4 X, o0 {$ G parseInt(this.getobjstyle(node,"font-size")) == 0)
/ Q5 ?7 ^ D5 q1 [ {2 Q$ a9 \# d! ]8 P
if(debug)
7 t8 ~+ ?4 ]8 b6 A/ g8 r {. h+ f8 w$ a4 C3 {1 x- I( y
alert("remove invisiable!");
! Q; N2 N$ U1 o }+ N/ ]# b4 j" x- L
node.parentNode.removeChild(node);
7 N" y: S( z8 [' _5 } ~ - p3 y( r/ G4 L: K# Z
}- G. l$ y% B% h1 Y6 g! Y' f
else
8 @0 `: \* Y. n0 }& E3 q9 l/ T {
' B4 A; P( W7 Y if(node.parentNode) 7 F) ^) N* v' x k' p
{! ^* |' B/ J" A+ W
var orgNode=node;" T( `/ K. d9 s
var orgColor=this.getobjstyle(orgNode,"color")( j E2 N* r$ a" J
var orgRGB=getRGB(orgColor);
! D0 o$ \- S. j9 m - U$ G& ^+ o2 d/ x7 @/ G
var parentNode=node.parentNode
" k; [# Y8 h7 O, D var parentBgColor=this.getobjstyle(parentNode,"background-color");. }9 L1 w5 V4 ^/ ?5 A
0 r$ S, `8 p) Z7 S/ Q- n6 e var isLast=false;
+ D* X4 u! ]: F/ f
. A2 C# F* \( ]! b1 @ while(parentBgColor == "transparent")
% F- v) {9 t% l" c {; z, D( \ t) v, p
% m, y% P) k8 Y3 ]' S% ] 7 K( m2 r" f# [0 h! j! E
if(parentNode.parentNode == null)
% b4 H( H( {# ~& _. ]) U* d {
" O' O' s# b+ R. c0 S isLast=true;
3 F X' y$ \- h" |8 S break;+ ~: \& f* F. i- o% r9 v
}
# o' ^; q! |/ A parentNode=parentNode.parentNode;
9 b& n, D B5 [ parentBgColor=this.getobjstyle(parentNode,"background-color");
% M/ ~' j% r" Z, \/ U
. ?" X. I' p# P y if(parentBgColor != "transparent")
8 a- E) o$ |, d/ ^# G% q' ^ {
. a4 ~; b1 c ^- u break;
0 v z4 @) \: | }
) p6 m0 |4 c. b }8 t7 U( Y+ V# C9 ~9 t
if(isLast)
; Q; r7 j' @! a) g: b3 a {; ^# _! _4 r! m& O3 \( q
if(debug)
& m2 N6 a6 G6 w! R {
2 L5 U k, y M alert("last!!");
! f0 t( z" e3 q0 ?8 i8 _( n }
7 y/ l' D. a8 r/ v# y- I5 O0 ? if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), W$ T8 \9 F& f, O+ H0 i
{
% d4 n0 ]/ o) M5 @- K" Y orgNode.parentNode.removeChild(orgNode); ! Z l8 _* s/ Y4 Z( m$ G
}
8 D% ^; d, b& r6 n+ l) C }
& N, V" F8 m6 _' n else) o. S. O8 K0 j9 K2 T
{
9 @$ d- p$ Z6 X9 Q if(debug)" B- L1 e/ H+ D) q) N' U3 O# E
{
1 X- s5 t3 w# t' C8 I1 T9 e alert("compare color and parent bgcolor!");+ l8 |& [. G( t
}" e( w4 r2 K0 K5 s$ ^5 U9 n; o
parentBgRGB=getRGB(parentBgColor);( k1 `3 I: h: N& k& V: A
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))" W b: O1 m2 n6 i G( o
{6 a. O% b. j/ e! T, [. n
orgNode.parentNode.removeChild(orgNode); 2 S% |& p! ~) Z) a- Z1 @1 i# k6 _7 ~
}3 Z3 _% Y0 r9 y# _* I
}
; T7 }$ ?$ v# y B4 t }
' U5 |9 ]7 Y- E) d3 X) \ }
& E# S% F! D# u }
: B- }4 b1 {" k, Z9 Z }, z! s7 O7 N- t" ]: E7 o3 F; O
# \' O. k9 z* U# O' p 3 M! C2 h3 V8 a# B
var itemFrames = page.getElementsByTagName("frame");
7 W, S' n" o+ N S! m2 }4 y var itemiFrames = page.getElementsByTagName("iframe");! C7 y2 w, c( B3 V/ }# e' q; v, T
/ z/ g& c* x1 k0 b; u7 z N var frame, iframe;" ^% F7 I# A5 u- w9 y# T
if (itemFrames.length > 0)
) F1 C* @9 T( m2 f$ [ {
+ q3 J, u9 Q. o0 C5 ]+ b. M for (var i = 0 ; i< itemFrames.length ; i++) 7 g9 w9 e$ W* Z2 Y; n# l5 ?2 R( S1 J0 }8 ?
{
$ [6 V" I' K' a( B frame = itemFrames.contentDocument;8 r8 b1 [1 r1 P# s
this.RemoveHide(frame,objname); 3 m) e" C0 I3 c* d9 V
}
1 @7 c! |! c0 ` }
7 t6 |' u+ V5 N' k! z1 }, A: W% a if (itemiFrames.length > 0)
$ W: F6 p0 S% D& h/ T0 B3 ` {) m1 _7 u1 b1 b
for (var i = 0 ; i < itemiFrames.length ; i++) 1 E! }6 x9 p! L' g. W( l9 d
{
4 D7 Q3 ]/ B9 t* o/ C iframe = itemiFrames.contentDocument;) m* q$ h5 `; p! g* ~ [
this.RemoveHide(iframe,objname); ! e4 L8 B( l6 u9 G1 N& Y5 }
}
7 _7 L( i1 G4 n. F+ q4 Z3 w }6 f |# s' b9 i2 C2 H% s- Q
}
9 U! R, i; U- P/ O2 Y0 I catch(e)
# b9 [' X& l$ B4 h, X6 S; D {/ {4 [) ^ h1 \* U
if(debug)
% {1 @; L. o& W* k {. q' ~! j' @3 i, v: A
alert(e.message);" @. ]2 b6 V/ J8 F7 \1 d5 b$ _9 e
}
% e3 E- b. [0 i! F1 \. ~* p) \ }' h% ~1 w) ~( I* l, [
}/ l6 r! v G) Q1 V% ~
: x9 x% [* T9 s: W
}
5 ? D" H/ {4 K* D# Q6 S a# I" _% o
function getRGB(colorString)! I, |) g- z$ ]
{
- B: U7 N" k) F var RGB = new Array;
K) V% O9 a& d. d var tempSting=colorString.substring(4,colorString.length-1);
! T4 i: ], L* F2 P8 x# u' Q var tempArray=tempSting.split(",");0 d5 m( g0 Y0 T2 F; a; v, Y
6 X }3 U% w' f/ d8 b6 L
RGB[0]=parseInt(tempArray[0]);* p; I5 Y+ l# N* W7 s5 _' m
RGB[1]=parseInt(tempArray[1]);
' T) k& C6 H7 o$ r* n RGB[2]=parseInt(tempArray[2]);
9 j! H8 {+ [ m v4 H4 F
" L* \- G9 l i8 K, y" W return RGB;4 Z8 V' p6 h1 C; f6 c$ t) ]+ D
}
d! L& c" S2 F( X( f; lfunction keys(evt)
' G" a2 h$ _( q- { {
8 }. P- l# i& G3 d U2 J) e7 u% p& a if(evt.ctrlKey && evt.keyCode=="81") * Q/ ~' B: [) R8 m1 b0 ^
{ 0 K3 s' \/ H: ?7 u* I! R
CleanHideObj.on(0,1);: s/ a$ j# A3 D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 v" h& z& O8 z1 [) J
/ l ~0 F8 I6 T9 d# W8 Z
}
+ d# Y3 W, H+ n6 K3 b4 M }
6 t2 j- W. {2 S! A$ T! h2 Q) @document.addEventListener('keydown', keys, false); & b5 r8 D- m2 [, l
GM_registerMenuCommand ('Clean Hide',
. f8 D. A& p" Z( r: J( z8 Vfunction(e){
* d* G$ T; o3 O' ~CleanHideObj.on(0,1)
# K9 M0 k) ^- z# e+ K# |alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- v' [9 ` I, g& P2 j! i0 B& f4 u});/ x& i& S4 E2 I: v
|
评分
-
查看全部评分
|