|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) a1 Y8 Q; q! {. M( n
' V! W& N7 [+ E4 b
火狐插件,用猴子7 e/ P# O3 w9 c q% _* p
' h2 o$ d9 d; Q% y6 @7 \
var debug=false; # c; U0 F' h- t7 s3 t
var CleanHideObj=new CleanHideClass();
9 q5 h0 b/ ]# t
5 g; m; q$ [$ N) i Zfunction CleanHideClass()
: V1 L: `2 y8 _. y4 s{ $ `. F# d: P- i" T9 q
( W5 j( Z& I [; s& r4 c% U6 }' [) Q8 u this.on=function(id,bMZ)
% ?8 O) k" n9 _5 X+ ~- r: [ {! f E6 W) }3 b2 [2 t# c+ ?
4 }+ ^$ m' b) K6 b! n' f
if(id == 0)
$ i$ B! M1 ~% ?4 x1 \* ]) q {1 }, j9 R8 q" M# v" P- V
var page=/* document.getElementById("content").contentDocument */document;
, j$ V; w5 D1 W+ q: [, b: n this.RemoveHide(page,"span");
' U1 R1 I: H. v! J9 S this.RemoveHide(page,"font");4 N) b; z( }# J! a1 z( K9 r2 K% I
this.RemoveHide(page,"div");7 k4 A$ r; Z# D" k! B. D- |- v+ d
this.RemoveHide(page,"p");0 w- o" B4 d8 `4 S& l- Z
$ s( P( y3 W( e' U I }
s& B2 B1 L- [# P$ Z% c
: \0 @( |! G( n: O }- k4 @. m3 r2 R$ W# i" \% \+ F
this.getobjstyle=function(node,prop)# ]8 a6 e1 y$ |( r+ F
{/ T4 G: Z" z5 A; ?3 s/ ` D
try
. A T$ ?8 P# [4 Q R$ {; h {) ~! }* p3 p J7 Y1 R d7 t
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ y) ]; o" G$ Z4 N, C/ S* J9 T
}
W# \: x( k8 N3 n5 F6 Y7 q9 C catch(e)7 x, } h* J3 x! L3 Y: d' ]
{
! R6 m( `5 Y: i if(debug)
" a$ c/ z0 b" } {( d. `- g" l& \. k
alert(e.message);
! _7 D( ?+ x, R }
+ N9 z4 C& X$ w7 _" D
: S& g/ t- t* l7 v0 @ return "200";
& F) q! ^, f1 u2 s$ t% p3 I: R }
$ }1 [/ \$ O( V4 g2 i }
6 D& f* P: q1 q- _! ^3 L
4 z& E" s% S. T6 Y) e! B8 { this.RemoveHide=function(page,objname)
0 z3 h q! \- J! v8 h) F( o/ e {& W& R. Q7 u* _. R& w) q; ^
try/ E: ]9 I. D5 A" j
{4 Y H+ _( n- ?* L0 m5 s$ b" f' L
var minValue=15;/ S1 N% G: R; L* Y! u8 u0 j/ d
var objs=page.getElementsByTagName(objname);
& {/ F( Z- Y2 [5 }
; j2 C6 e' s. y' _# v1 g2 r4 P if(objs.length == 0) ' u M/ A! y' c0 k
{# \' X% ^. G# D- J }6 V
if(debug)
- Z3 z% B$ u3 M k* p. B {
v# t3 X) Q+ M+ \9 {) P% C alert("no object found!:"+objname);6 h3 C* d) e4 K5 c0 o, {5 I
}
+ X3 a# u- E- r }9 ]1 k% v8 t8 f$ k7 Y" |
else
! M* G; {7 F% ~: x- |3 i {' j1 B# v5 h/ u+ ? B8 V
& j$ c* ^7 b0 w. q3 t1 Y/ f for(var i=objs.length-1;i>=0;i--)
3 f# P" U+ [; G5 a( m: N {/ m$ N) N5 J2 P* {. R" M7 V6 {
var node=objs.item(i);
; l, Q" ~( \, ]# s % B$ h/ `' O+ K; h
2 J8 Y4 Q6 }, z& F% ^. ] if(this.getobjstyle(node,"display") == "none" ||7 m" V6 f$ f; Z$ [1 y" p
this.getobjstyle(node,"visibility") =="hidden" ||
( z7 V8 o+ {# R+ ~ parseInt(this.getobjstyle(node,"font-size")) == 0) 6 o$ \% M4 B! I9 H: u" x, t' {
{1 E. |1 m5 C8 s7 k7 `, v- w
if(debug)7 S& }% g3 S9 W( C) k
{, t& }5 I" h) x& o/ N8 ^ m
alert("remove invisiable!");1 A6 z' t5 v/ _. r
}
$ }6 ?# I& w+ q! p, |0 } node.parentNode.removeChild(node);
# N1 a% H& Q- X# O/ w 3 o4 b: f9 U- |4 y$ U
} ?3 a A) b9 U5 D* R2 p0 b
else
9 l0 f( u% \& D; c @" m" [+ J {& M4 g, e1 C, p- v2 K$ R& @
if(node.parentNode)
0 a: `" U5 D& b9 t$ n8 z7 L {- U& @" s9 U4 v8 q; u9 p( q U+ u
var orgNode=node;9 b4 c( P9 Z: h B) y; l
var orgColor=this.getobjstyle(orgNode,"color")
, ?) X' ^$ f- f3 a; x var orgRGB=getRGB(orgColor);
1 B) _+ X% t. V( m0 g t& }
3 f6 w- |( K6 ~2 v8 _8 i var parentNode=node.parentNode# U% ], V) r( ?$ t# J+ ^9 I* @
var parentBgColor=this.getobjstyle(parentNode,"background-color");3 \9 ~5 C7 n# ~# B, t
0 V, l; B7 l$ [8 V8 g C6 }% n var isLast=false;1 q6 p/ }/ A# y& w" o& O1 ]# ~
; L8 _! O5 G, ^9 h( M. j while(parentBgColor == "transparent")
7 E6 a( V5 N3 x {
6 {1 z; x" }* y8 }0 i # a8 Z$ |: | |% V6 ]& d
- P, |" Z% y6 o
if(parentNode.parentNode == null)/ Y, d n7 m! i) @3 e i7 E
{" {8 i9 s4 W8 e; j1 V1 D- N
isLast=true;
. y% J) f) _# S break;
& @% h3 w e4 d) f0 g! c: K: S7 H- R }5 h. |; P2 ]: s$ x* B) t: g
parentNode=parentNode.parentNode;
' U3 ?! _8 a) O/ I" J) a3 O, H parentBgColor=this.getobjstyle(parentNode,"background-color");
, k* E2 Q3 W( W" J, g3 K/ d
9 j2 j4 G, U. L6 C, A4 y6 C4 K if(parentBgColor != "transparent") * G" B# z5 w5 d) g
{
) T* S& a- w0 ^8 H1 c break;9 e' P( K' p4 z. g- M8 L2 _4 [
}
3 W( ]1 U6 i9 Q- K. { J }
1 o% Y3 x( f. k& E8 J7 b if(isLast)
& \# X7 r4 [9 Y4 E' B! {# W( ] {8 M) D1 p5 F7 Z, w5 j2 J% Z4 u9 N: J
if(debug)% \" G9 o/ f5 ]2 T6 T: [! Z8 c M: A
{
4 u: Y9 m; Y% M& \1 V' z alert("last!!");
+ p5 n1 ^; e* {% h4 ~ A5 @* T( e- T/ u }1 A/ V# Q/ G5 [9 [- K% B3 E# H
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 p6 D- o0 W& p7 t/ L; I' h
{. m2 T9 U# |3 {: h: v4 E
orgNode.parentNode.removeChild(orgNode);
* V, u7 u6 N. \% d/ I& K2 Z) @' y$ q }* ]4 ^ c0 R6 ?4 v9 g1 D
}+ d& l( o3 U. ?" }2 p
else
* c j' D2 n/ r; X$ j$ T e {
8 l1 F2 a, E. ~ if(debug)8 M4 ?! e4 S8 }9 n
{2 }) N8 o2 W- I' B) t
alert("compare color and parent bgcolor!");# {' U2 D# e2 i* j* B& g+ _* u) J
}
% m" W8 K1 j( C4 H0 U0 w parentBgRGB=getRGB(parentBgColor);
3 \0 l1 [# o8 r5 s4 d1 [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 \" j! N$ }. S8 |5 { {
% S/ K. f- W% p3 k/ n+ ] orgNode.parentNode.removeChild(orgNode); 2 |0 V8 s2 p8 J( O% H; _
}# M6 m7 u9 P: O) c4 ~, z: P
}/ J8 D% @7 H1 G$ M7 C% F& d! s: Z' B
}
+ v* H R Q% u7 C- E' r0 r0 k( ^, A }" v$ m/ X! M/ v4 K& z! [4 {
}/ F1 V+ N# p8 `" x- u, z
}$ L2 l& i* _9 k! {$ H9 Y& c( h
1 S+ f' a% W, x: D8 v5 j' A: ^9 O
' a% I+ J( W+ F# }5 K1 c) J% O9 Y5 V var itemFrames = page.getElementsByTagName("frame");
. r2 }6 q/ r. M! F- u4 o0 |" [ var itemiFrames = page.getElementsByTagName("iframe");' N* T7 N" a2 T$ }% @ T( a
. h! D* M8 z0 m" h! ]( ]) O+ W var frame, iframe;! @6 ~3 C7 r$ j0 t
if (itemFrames.length > 0)
2 }; I% e& C& _9 a6 p: C: e {$ e. Z' q- E8 P# B% I. l
for (var i = 0 ; i< itemFrames.length ; i++) # M7 ]2 [! x$ \9 v, [' P0 X& O
{
6 h+ a6 O4 g; z$ K( T4 J, ^4 P frame = itemFrames.contentDocument;
+ H' s! e) }& {- G3 e. M4 I2 p& {) N this.RemoveHide(frame,objname); 5 K& N, J; \0 h( M, F
}5 ]% l5 F; p% M3 h% }+ [
}
# u9 V% ^& i$ K0 e* S# c, b if (itemiFrames.length > 0)3 o3 P; h7 Q' \. K: y! p5 }
{
4 p* [8 ~* }8 J& U% ^- ^' d for (var i = 0 ; i < itemiFrames.length ; i++) 1 D. {) J4 X$ ^" {* v1 c$ o
{1 t F5 U( A8 v: Y$ A
iframe = itemiFrames.contentDocument;
/ d @' x" C( I. W this.RemoveHide(iframe,objname);
7 D' r7 o+ t1 H* X }5 H' ` c' Z8 @, M/ x9 Y
}( o# Z, F) t! i" C! }6 t5 E
}
) R, f5 a* n" s- P. W1 b6 j6 A catch(e)
* k/ K+ D' p8 o: Q {" Y% Q! @: G% b8 M
if(debug)3 h, {+ w, l( G5 A( }
{
5 J. w& W9 ? q; N- ~ alert(e.message);
4 J& D8 @' S+ E3 q/ I, Z, j0 b }! H" C3 M# S) I
}
+ C0 x/ r& p1 W3 h6 h/ w0 x3 c }
0 O. C- l0 S6 s7 ~! d, [$ G$ X
0 s. q/ o( W. `8 B}
( ~! x, A+ C3 d( z3 b8 A* c0 W: D. V% `8 Q
function getRGB(colorString)) R# K+ t/ z1 N
{% g. [2 ]6 O# D
var RGB = new Array;
6 i1 S1 r$ O6 U9 { var tempSting=colorString.substring(4,colorString.length-1);
2 U" {2 i; ~" I/ g( E var tempArray=tempSting.split(",");) ~3 C" i; j# k3 k
+ o8 ]8 p( `* k, V4 b' T3 |
RGB[0]=parseInt(tempArray[0]);$ Q4 d7 T# \3 w/ W1 V( e
RGB[1]=parseInt(tempArray[1]);
1 ~) _1 x; q# x4 M RGB[2]=parseInt(tempArray[2]);
# O8 I, k) {( | ' A8 j! ]4 q4 a q
return RGB;
; y6 M+ k( y* o: [8 X8 t}- [/ d4 D; F9 j) Y o
function keys(evt)
9 h% S. Q" ~( @* u {
9 R4 U' b/ c% {, r3 q: g c if(evt.ctrlKey && evt.keyCode=="81") D1 C+ n; m. g l( r
{ ; z( b. Y( E5 O7 ^0 C; i `1 [
CleanHideObj.on(0,1);
' z, e! _7 h6 _0 ~ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# x4 y/ u' l4 y& ~7 |- v 5 w: q0 ?. m3 S. k9 _
}
/ x' @: A3 q2 K6 L } 0 y) ^/ U& L) J/ r' g( E/ e% C: z0 k& x
document.addEventListener('keydown', keys, false); 4 Y; x2 \( A+ _! M o
GM_registerMenuCommand ('Clean Hide', b1 R# B, r1 C% p& R. p9 ]
function(e){
* |1 p: U% \7 o& \, \, tCleanHideObj.on(0,1)5 }1 ~7 m/ @; e) g4 a8 v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
F; S1 W! N# ]+ [6 d7 S# b, X) H) ?});. {8 Y f3 A1 ?) m+ U9 P
|
评分
-
查看全部评分
|