|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ C9 Z' `, l; C! y; O6 ? D7 u7 L" G7 k7 C
火狐插件,用猴子
+ u2 e5 _, J9 R" g8 u0 C7 P
) t2 a- ?# e# x& bvar debug=false;
( d2 f+ d9 g1 B/ }( w2 ?var CleanHideObj=new CleanHideClass();" o4 X2 B, V4 X. R( O
' {. r3 t( ]% ^" ]! K9 [) r
function CleanHideClass()
' S, e; t1 l& c- L6 q6 `6 o{ 6 ^9 ]7 Y7 P0 D* C
3 h7 @. @/ ^8 F this.on=function(id,bMZ)
3 j% l1 ?1 J! N3 ~' ]6 I {
$ Q% q" t' t0 W$ { 1 d, Z' k' E" A% z* p% {& \
if(id == 0)
2 a8 N' b. h7 i# s {
6 p3 f7 W0 k+ u+ X( ^6 ] var page=/* document.getElementById("content").contentDocument */document;
C5 _! L* N% \5 D4 f this.RemoveHide(page,"span");: B" D, P7 v. m& `& r! O
this.RemoveHide(page,"font");# _+ S* u& t" [" X# ^
this.RemoveHide(page,"div");( ?# A! k1 q9 _/ r6 ]
this.RemoveHide(page,"p");$ F( i2 R% u5 p6 n4 z" w! e
$ y# A' f0 \* w) Q
}
( }0 ~$ ~& e2 r9 D, ^* o6 ^. B 2 j, |" y& H, M- t3 g% H
}
. j4 L2 O4 R0 @( V0 ]/ A1 { this.getobjstyle=function(node,prop)
2 X0 n, t9 r/ X1 L1 u& s. H {
$ f7 E5 u! V: T2 a try
7 Z3 |( Y/ Y; Y/ Y! Z! ?- ` {
! T3 h4 t; z4 Y3 s) n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 a+ E- W+ f5 K7 v% O5 O% w
}
6 N/ u5 T$ M0 I, a2 j' P. s; t catch(e)
8 X, u5 j: v- n Z% n+ G6 g- u {
. {" r0 W% F, @0 x- d3 ^4 M2 P if(debug)
! U/ J, R: K, K# M6 {: t {
; c$ f* N1 g7 T" _ alert(e.message);1 q/ Q g: X3 a7 N2 W: e
}
2 k4 e! v+ A, C& s# e% J# ?5 U 0 i( F H& _4 e) v' n4 t
return "200";
5 N6 J3 _7 Z3 T }
6 X, v: @4 m% Z$ }# `: O) n+ P: k$ b }) M; ^9 q2 X* E, N B
" N7 K% X! D4 S. { this.RemoveHide=function(page,objname)( y- @- \+ a9 m0 M. R; ]6 x
{' ~! x: h' q4 |4 K s- G
try# T2 o8 z9 k! w3 u( @/ ^( D
{
0 o6 t0 |/ p3 C6 |+ ]( L$ {& ` var minValue=15;
- l% \1 y/ R3 R) f var objs=page.getElementsByTagName(objname);
* g) r3 h6 N1 I/ V ^- _4 p' O# n
+ ^, M) O' I0 C9 j if(objs.length == 0) ! Z! a/ ]1 X; J' s4 S1 v
{
6 l* r e m- Q3 U9 G% q. a& d* d" x if(debug)& E1 k" G4 Q7 @3 y1 t
{
6 {7 w. B1 q& {7 ] alert("no object found!:"+objname);; M+ f1 e" K3 P4 a& {9 d
}
+ F) \, M6 X2 [/ K v }$ s% l8 a$ }; J
else
) k, t4 o" v0 ?+ y0 @5 |7 O) f {
) U$ D& U: v' e7 h/ W7 E 9 h; R/ D, L d4 F/ {3 z5 j% d% G
for(var i=objs.length-1;i>=0;i--)
* {' P' Z& B' @- F8 ^ {0 @# d8 N+ g) y
var node=objs.item(i); 1 \5 p! m" o E& A, {; _7 J9 \
# g6 c6 K% K3 p# i# C
1 N" n5 R* x1 i* h. v
if(this.getobjstyle(node,"display") == "none" ||
" A9 f7 `: Z& t! t m this.getobjstyle(node,"visibility") =="hidden" ||
' T( L5 ]. r+ n- k H parseInt(this.getobjstyle(node,"font-size")) == 0)
: q- `* ?: Y. Y# N& f {: N/ T+ [+ S+ P4 C, L; O' p
if(debug)
" S i$ ^* Z2 x$ d0 l7 P. ^0 U! x# s+ b {
, z0 a* Y3 z/ ] alert("remove invisiable!");
Q' K& R8 U( G7 I' L/ A7 B }8 \9 M- h" H* Y, o4 _8 _) y. v
node.parentNode.removeChild(node);
) A; x1 k# v/ E' ^5 ` ( @0 _' N: o6 ? L1 S7 t
}4 H# ~& Z0 s% N" [& ~) _
else 8 y4 @5 K r4 A5 r5 `
{
; s$ M- a ?. U3 k5 h if(node.parentNode)
: y. E8 e" V8 H5 f0 P0 I {
% r) ?/ ^! O/ j var orgNode=node;
7 [: m! E& |# y4 ?" F4 L var orgColor=this.getobjstyle(orgNode,"color")
& {: h" y, f2 u$ o9 h3 k" R3 n6 l var orgRGB=getRGB(orgColor); % f$ [* R2 R) z
2 C4 O$ v4 Y" s
var parentNode=node.parentNode; Q0 r* X, ]% B5 ]9 V* }
var parentBgColor=this.getobjstyle(parentNode,"background-color");! |3 ^# v; s4 y
* c# ^/ ?) ]" c. h6 u
var isLast=false;
' Z+ `. }" a1 h1 d* x, j
6 n$ T; |: k$ G! E0 ?; |: I7 A while(parentBgColor == "transparent")
+ ^: U' b; I0 b! x7 Q {( S5 N; \! L( U9 h$ m+ q C
' Y3 w2 s+ M+ N# P- j+ p6 H; r9 \
) b9 }, { x, E: S" e: X
if(parentNode.parentNode == null)
0 S, p2 c" m. z. k1 X {
! R+ c1 \; y2 q% `' t7 i isLast=true;% H$ Q* a2 |" e) p u B: [- g
break;
0 T4 v, ~7 Z# b, r5 q: Y }3 N, @- w. u9 F% M% o$ ]9 M
parentNode=parentNode.parentNode;
9 e. g2 \3 _ S% w) M, l parentBgColor=this.getobjstyle(parentNode,"background-color");) V6 c6 g* q! T+ P o6 O0 e# \$ N
) _5 w) o! w% [- b+ c; E
if(parentBgColor != "transparent")
+ J! J. s4 D2 k {
: D& t n6 K6 y+ v# y1 U break;& W3 o' E7 r- U5 C% T
}
7 G x% o+ C4 o9 ? }
# G3 l( g4 |. O4 N6 N H. j if(isLast) ( `7 `' T9 q) x( V0 }
{4 l( X# S: w' ~5 I: `
if(debug)
% q0 E7 N/ q0 h: g" |* a, Z {/ B6 T" F6 H3 q& G! J
alert("last!!");8 [! W; u6 m7 b0 {' L
}
4 ]- o2 \8 L4 T" R$ y' M, p if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& ~. h+ Y4 \5 f9 k3 u! T
{) ?* |! ]2 H- x0 C1 p. z
orgNode.parentNode.removeChild(orgNode); 0 Q# C: e% t; L. d
}
- D3 Z4 F& a6 ]& I$ z6 x9 ^8 f. B }
# _7 y" P8 r8 t I else. a' k# {; z; t% ^, B) i
{
. K( N0 h( ]5 N0 ?5 ]9 k if(debug)
; n F5 F+ r( x- [6 L {$ e7 e' k. b1 e7 ?* a& Q
alert("compare color and parent bgcolor!");
! T9 @( a% j& g }
7 L0 T# y, v& r9 I parentBgRGB=getRGB(parentBgColor);
7 O0 }) R" V* S. q$ w/ g8 g% T if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( n- j/ t$ V9 q4 {) r! P6 p
{
7 ~6 x, o' Y$ [' b2 ] orgNode.parentNode.removeChild(orgNode);
, u: N7 Y/ R9 B7 b+ Q' H) _! Z }
8 {2 e: a& m; J, b }
7 |- @2 E& P7 O- S }) i7 m9 z$ }6 v9 ^2 a: d: c& e, ^
}
: Y; d3 ]/ m! Q- ~1 L }1 j* }6 O& B9 Z: z* ?3 F* f; y+ P
}" o9 D5 p2 @% `4 X4 \
4 _1 n; j$ T9 U" q- Q/ h
% M* D: o D3 t! O. {; a s var itemFrames = page.getElementsByTagName("frame");
* i) \" j% B8 X, v' L var itemiFrames = page.getElementsByTagName("iframe");2 U$ D4 h6 F: h! O" V* y- b
$ c9 Y5 ?+ |; X0 S3 Z
var frame, iframe;: e/ S5 Q& ~4 | [" q& e8 S
if (itemFrames.length > 0)) b; P# j& n* R3 |' n1 J
{5 `: @% Q, e1 \* C+ f7 G2 {
for (var i = 0 ; i< itemFrames.length ; i++) ; [% |" j% s6 k' K W
{
- \* h, P' N |& c" _ frame = itemFrames.contentDocument;( X) H+ ?: u) r9 b9 A( j
this.RemoveHide(frame,objname);
9 g8 b+ P" }# e }
6 D* ^* l3 S# | }0 s! o% P! d: C4 S7 g" v9 T4 D
if (itemiFrames.length > 0)
2 O: @# G1 D+ E r5 c {7 T1 Y. x0 a# @$ d6 B4 d
for (var i = 0 ; i < itemiFrames.length ; i++)
& T& ^& J. B G [ {3 s2 d6 a3 w7 ]9 z" X5 D
iframe = itemiFrames.contentDocument;2 w! u8 {- S2 A% S) d0 }+ n+ c
this.RemoveHide(iframe,objname); " { G `9 V& B/ I) R. B9 Q
}
6 p& I% v9 o# w }: K$ h S) n) P- c
}2 ?$ L9 e( W6 }
catch(e)1 C9 u" X5 Q% r. O
{
! {) |( T9 O0 D/ A N3 [' U( T9 X if(debug)" q5 Q5 q' y; \5 b
{
. B1 v0 y8 o; w alert(e.message);( h4 i1 U& d. o! s3 G, s/ e8 w* |
}
7 A+ r# l; e- ?# m }1 I% i2 A y/ M x
}1 W5 t2 i8 J/ w
$ c6 Y2 A7 K1 {9 [# u
}9 a" @- C5 g6 }; h* f
7 U A7 c! w Afunction getRGB(colorString)
' N& C9 m/ H& [+ _# u7 [" ^& z{& P9 N) F1 V& q0 A- Q. p1 [
var RGB = new Array;) E; |: t$ e+ ]+ ?6 t) ?( i
var tempSting=colorString.substring(4,colorString.length-1);. J& W# ^' G5 l% r# t3 h: v
var tempArray=tempSting.split(",");& j" m: W7 {( Q+ |1 \2 N
. `1 W: Q* p! t1 V2 t: ^ RGB[0]=parseInt(tempArray[0]);. b0 x) a+ L* F; b! e4 Y/ v
RGB[1]=parseInt(tempArray[1]);
! \; g$ T5 T m* E3 y: m RGB[2]=parseInt(tempArray[2]);
& e8 e2 q/ y, s4 V$ M/ b 9 e4 L8 g/ I+ e2 Y5 Z
return RGB;
- F" Z0 Y1 R9 P j7 \}# t( ^/ w/ H& u
function keys(evt) ; F6 ?+ Z4 E. {; b- t; {% t
{
9 R! E5 L1 l7 d8 `: O' e. i# B if(evt.ctrlKey && evt.keyCode=="81")
: |- i |5 {2 f# q {
% O2 d+ n1 H1 ]& J CleanHideObj.on(0,1);' ?# _( S) E7 _5 e4 R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 B" N: U! Z- [, { 2 Q$ H* c$ P# V9 S e5 J& o5 y c e
} 4 H* U+ w" }& e
} 7 ^* ~* }$ t/ A. ^6 v* w7 o1 W- i
document.addEventListener('keydown', keys, false); 9 L6 j. \; Z# @. P- B
GM_registerMenuCommand ('Clean Hide',
& o- T$ k" k! b2 L, _function(e){
3 ^8 D3 g$ v" ]CleanHideObj.on(0,1)
( V* R) I; i: N$ kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* ?( `/ C- E+ U% q( O2 C" @0 g
});
1 L8 a- X6 Y5 }/ v! V |
评分
-
查看全部评分
|