|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - B3 m, Y5 X ], C& E, _% u
9 p' L6 R* p2 D8 B$ m火狐插件,用猴子
+ ?8 q" Y+ K* A7 |% J! w+ ?8 F0 U8 D, O
var debug=false;
: ]+ ^9 \& Y0 D6 w* u7 rvar CleanHideObj=new CleanHideClass();" j1 v4 S6 n% B0 `
9 K% h# j1 r: W' |. D7 ?0 pfunction CleanHideClass()
6 t$ g& D3 n, Q1 m2 R{ % D8 |$ B7 K& f3 i4 D2 Y, K
% D$ X/ [) V; l2 P7 |
this.on=function(id,bMZ)0 f8 |2 U6 b9 R4 I& E" P
{# ?; C( q! O; L
' ~7 k8 K i9 s- ]) q- ^ if(id == 0)8 [- r: Z9 ]* z6 r
{ _0 z" o; A# b" _( X z# @+ f
var page=/* document.getElementById("content").contentDocument */document; ! O- X8 [! Z7 k& C2 `. l0 f
this.RemoveHide(page,"span"); u8 c8 A$ E% Z3 b( ]4 O) Y- o B
this.RemoveHide(page,"font");
* b6 G7 {- C( P$ {* h this.RemoveHide(page,"div");
' o& N: W: r% f( O- b& D6 V0 P. ` this.RemoveHide(page,"p");9 v: X" U* G$ r
$ L, u8 G/ K( N/ z" I }
( K# f, ^3 W) h
6 \( ?4 w: ^- a( S% X$ V }" n; Y, r. {+ M) A' k% e( C) B0 K
this.getobjstyle=function(node,prop)
. ^+ Q; N i6 N Z2 S2 e% ^6 U {
: `1 r% [; N, q) g% j try$ I7 k& A9 |: G8 o2 A1 ] b
{& L/ ?3 Y% ^7 X' t e
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* n& r! s& W7 m9 z) W# }, { }
- Z8 k7 s1 S* ~7 s. U& v4 q8 F0 } catch(e)+ e. {7 W$ u& e& r2 Y
{
- B& [. Z# x+ q2 }3 x if(debug)& A0 f0 I0 i5 R* t% a/ \ V
{
4 d+ L, ~. B/ Y4 z9 B. f3 [ alert(e.message);9 z2 R h% t% F& ~" K
}# j. y$ J/ K, p
7 b) P7 a6 Z) E8 V! G2 @6 f
return "200";
# m: A3 U' `- U" z- P }8 n, {2 g- J) ?6 |% n9 l$ h
}
* c% w" v; o; P8 c5 d( G# w* k , v! q6 E8 X. E% A5 [
this.RemoveHide=function(page,objname)
4 d6 h7 ?% y& u {
! f E* e; v* a$ T+ H& ~ try
* |- b! r6 `5 L% a! s {6 a6 h- z) @* H7 u, a+ ]
var minValue=15;
( r _8 H2 C- Z# F# Q var objs=page.getElementsByTagName(objname); ( q4 d" a' L4 R0 k: u+ x2 Y
6 h Y$ g9 t3 Z9 m, [ if(objs.length == 0)
# E' q+ E4 ]* A% K {8 q4 Z! v" y1 O0 B+ S8 a( X
if(debug)2 S: \$ [" `& @( X T0 V& P
{
9 z. w# ^3 u/ O7 U v alert("no object found!:"+objname);
; J% T: l1 H+ B }% x6 y" R9 k2 F
}
. L* M: P/ z9 i else5 a& w2 u6 t) L4 |
{5 K1 T$ F& o" b3 L
/ F# Q' T$ N) G) P3 z. _ for(var i=objs.length-1;i>=0;i--)
: k- u+ [8 z2 m7 [3 x. `& {$ D0 Y {
. q2 J4 Z4 F( l/ R var node=objs.item(i);
M) Y4 i/ o* `
) ~- S, J- t4 _, J& g( W$ f2 Q 8 i; u6 G8 l! T( i% M' ^! q8 H
if(this.getobjstyle(node,"display") == "none" ||
- a6 E/ K! _# U/ ]+ C( y5 w% q this.getobjstyle(node,"visibility") =="hidden" ||
' c9 x7 @: m" d( Q parseInt(this.getobjstyle(node,"font-size")) == 0)
7 a8 O6 | n4 r( P" ?1 \6 k- z# X {
4 n- N. o5 L! T8 h3 n4 H if(debug)3 e e5 l$ L; s6 s9 N; ?/ Z; l3 d- e
{. w1 M3 s0 @( c
alert("remove invisiable!");- J* R' x1 L$ F5 l( W* P/ j
}
& T2 z* ]" O H* T) B1 ]) C node.parentNode.removeChild(node);' \6 i( i% L2 S" r& U
5 }! h* b6 C3 o9 i* P }* |# \: ]( `) R3 u6 {( S
else , w6 r" w6 H8 j! n
{' |/ c2 c5 E0 ~( B7 l. c& S. R' M
if(node.parentNode)
$ F1 u& Z& h q, P( b: G {# Q, y ], m8 a, O+ X
var orgNode=node;3 P, x3 `! d3 y1 E+ g4 g
var orgColor=this.getobjstyle(orgNode,"color")
0 s# n# m' Z' g! L* H: x var orgRGB=getRGB(orgColor); . @$ P4 C: ?: ]! j2 ?
! X1 ~5 j' @* h- p1 i% V! r- D
var parentNode=node.parentNode
( n) N; g4 F( ^9 d2 i4 P6 } var parentBgColor=this.getobjstyle(parentNode,"background-color");$ D) t' e6 {- z8 E% h2 i
. O) w% ?1 E1 C5 L+ o var isLast=false;. M" m* D: J6 q; n, ~$ @2 P. {
( Q# J7 d% R% s7 g4 K' V) W) D
while(parentBgColor == "transparent") 8 V. ]' A) S P
{
. a0 W9 j- O( L
T8 f: q9 |( u- q x
( l* K2 u" I/ ^ if(parentNode.parentNode == null)
% B8 [4 D, Z9 c+ @. Y% o a' D {8 J {1 s) s: M" r' M% T9 W- M
isLast=true;
0 B, Y+ T; N" e) P) l' z break;
, F, u! [$ S; j7 ~- @. T }4 u# C" Z' V7 Q5 E
parentNode=parentNode.parentNode;
3 L6 A# _: x8 k0 o parentBgColor=this.getobjstyle(parentNode,"background-color");6 o' p' S3 {* N$ z
! I0 o* ?& G% ]& t( V. u; o
if(parentBgColor != "transparent") 0 I) @" W+ L; s8 P8 Q4 Y
{$ \) }; J6 ~: ]% X
break;
5 p0 W1 X1 }0 z4 c- k }. s* |+ x. v2 }% R# L8 V+ v0 S" M M
}5 H; @2 E2 y$ H; y! `4 K! _
if(isLast)
0 `+ y" u2 d+ f {
* r1 v# v5 k, e( F if(debug), d7 I$ r+ g5 p" |6 A
{
# F1 K3 c2 S1 [) T# x alert("last!!");0 J( N, }4 q# J1 U
}+ K9 i( y P9 }: x9 D
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" O: c. {$ F/ Y7 V" ~+ x5 S' d8 b
{* I$ K+ J( ^! m+ D6 T6 v6 F) e1 M
orgNode.parentNode.removeChild(orgNode);
/ o. o9 C9 {' d1 P* V: V }0 {% o. p v: S/ k: M* w
}
' f1 k1 m- B3 v! p9 j else
* A ]- B1 V+ o3 e( \8 X {
% \3 k5 n) q9 r E* g0 F if(debug)
& ^+ u8 r o8 S9 G: \! o {; N4 n* |& B3 ^' H N/ `4 x
alert("compare color and parent bgcolor!");# h+ C6 k5 L7 X9 ^1 X( n
}
7 H- M. r! E E. {. _ parentBgRGB=getRGB(parentBgColor);
7 k) _# w1 K! e1 d( }- v" m' x. w if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))! v0 M5 U. t* ?! ? Y& [1 x
{
1 |8 |1 b& W3 M3 X orgNode.parentNode.removeChild(orgNode); $ N5 a, l2 Q0 {/ V! g- D. o
}
! F7 p0 _! d: o: O4 x5 M* v }: C" k8 ]# A9 G9 H' O
}
6 j) |' z% K2 f* s) u$ U* M9 C/ h }- I3 B0 v' _4 Y6 t9 [( G* Y9 Z
}
/ R/ o3 B# j& f0 n4 i; W }2 f g7 [' V1 S6 e! W8 `7 M
F6 F9 I/ U8 C5 m2 z : d7 J% T+ R* C! |8 ]" ]
var itemFrames = page.getElementsByTagName("frame"); w3 `$ F" S& m1 N% N
var itemiFrames = page.getElementsByTagName("iframe");2 w1 {2 W. w/ v, A1 O' n' }
+ a& E2 ]; E# S7 R$ U
var frame, iframe;
, c4 ] N/ W/ L2 p, ^ if (itemFrames.length > 0)5 a% c( T4 U0 Y7 J; Z
{! @. C6 h6 {; u5 ]
for (var i = 0 ; i< itemFrames.length ; i++) ' K0 ^+ n! k! K- y0 s+ V6 w
{7 B8 H x% g6 z
frame = itemFrames.contentDocument;
8 Q! \, F$ t C$ n3 H this.RemoveHide(frame,objname);
+ k6 p5 M( A$ r" d) h/ M9 R* e }
( I9 Q9 b8 L! `6 `: d }
) R% k1 `2 N6 F# F' ~# @5 R# Q6 i if (itemiFrames.length > 0)5 J0 s' f4 p2 r! ^3 }3 u$ y) E
{
& X; A( G' B. D8 A" I" J for (var i = 0 ; i < itemiFrames.length ; i++) " f( @0 F- R" L* O1 T3 @" k7 h
{
7 X0 n) v9 O( r+ W% L iframe = itemiFrames.contentDocument;
/ E- H- ^- u3 [/ t* k# `2 C- } this.RemoveHide(iframe,objname);
' m% Q( z3 G$ X. h% k0 z5 w }7 ^$ h3 E ~( D$ l+ }3 V. M
}
2 \: ], L3 T) O$ _ }+ o F7 [) R& [* k
catch(e)
4 _5 C! z {# g3 \( Q+ [2 h {6 r+ M/ {" P/ l8 F2 z
if(debug)
/ {5 b, Y6 i, |9 w2 ]. D8 O4 R {+ x# D! W; o! [& J9 _" {( y
alert(e.message);+ T! @2 Z. |( k: g( r
}
$ `/ _ r& H( I. \ }
$ {5 l! y: M: _ }, P: @7 j7 V9 i, D) W
3 \+ J: M2 x$ | o- A& C1 M
}
0 d/ D9 M; k. I" V3 G3 Q) y' V1 N+ A+ v( L# Q7 ]$ n3 b9 p
function getRGB(colorString)
, |2 \4 Y$ b( z# C$ _0 [{
- C" u! }& o. d3 v- y& q var RGB = new Array;
/ Y% p. F: l8 H ]: W( Y var tempSting=colorString.substring(4,colorString.length-1);1 J/ O( ^: @9 {* k( A
var tempArray=tempSting.split(",");
2 r. A) N1 D0 {0 f' r; _" J
; B, g1 \! o1 c) d# F, u* T+ [ RGB[0]=parseInt(tempArray[0]);+ y, c) a2 a- U1 ~
RGB[1]=parseInt(tempArray[1]);' d: @3 v9 X( U5 j
RGB[2]=parseInt(tempArray[2]);
" o+ h5 b! T' B G
* o2 b( v5 W* z" i s8 q' t return RGB;
+ `1 i4 a) o# t' ~& X}
8 O1 R+ P1 N2 cfunction keys(evt)
* s6 ~/ i) E/ c {
( d7 j _' @7 Y1 F if(evt.ctrlKey && evt.keyCode=="81")
7 s ]9 K- B7 O; L2 u {
y0 N2 f, n9 J, `2 I CleanHideObj.on(0,1);' U: K6 R& l/ J% Y5 \2 T7 [ I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 P/ `) W+ X: R2 M# [* C
4 ~7 V3 {! m0 q, N# q" z5 A }
) Z0 T4 k/ Q$ k+ c# R } 8 _3 L7 J6 i; L0 q! ]
document.addEventListener('keydown', keys, false); ' U! k8 _, I4 Q
GM_registerMenuCommand ('Clean Hide', L9 p% W: b+ U" X/ [& O; _$ {0 f, I
function(e){
8 O# C* H& I: JCleanHideObj.on(0,1)+ g7 e. P& B6 B" n( q" \1 Z* w4 k" ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% H/ g4 i+ V. v) b+ S7 o
});- z6 j/ F& H6 P8 z( b
|
评分
-
查看全部评分
|