|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - x. v* l4 y" M( i+ H: h9 c
' c% C7 d' H7 W) z2 q4 z9 y
火狐插件,用猴子
- S4 W% g; W% G# \# v& ~; A, L! j4 M* j, B% H' {
var debug=false;
0 m9 Z8 n0 M* Yvar CleanHideObj=new CleanHideClass();- [+ U, C. e: ?5 d$ }
2 m1 x! k- U2 y6 ~function CleanHideClass() + w7 Q4 v# g9 e
{ & d# [$ ?6 V q& {6 _% j$ d
1 v* s7 k* g/ @ this.on=function(id,bMZ)+ \; o9 g0 j4 S! i- l- ]
{( O( R& `8 V. [; G' M& l+ b+ ?8 ^
8 o: P x, \ o if(id == 0)8 p9 ?9 j, h5 R* j: C
{
0 s( K( t; }0 C3 M var page=/* document.getElementById("content").contentDocument */document;
1 G. ^1 J9 V! P' J$ ^ this.RemoveHide(page,"span");/ [' D! G% o% @: k' \4 V. F* P
this.RemoveHide(page,"font");* ^3 q" L7 }* O0 g: o+ B$ A
this.RemoveHide(page,"div");! R7 k! {6 S' r% t3 E5 L0 B1 D0 O
this.RemoveHide(page,"p");
; l+ U) g8 D4 U6 X6 D
6 a S( l& @& _8 Z) h* V }' O$ s4 j3 g7 `
1 N9 O) k+ a* X# z+ F+ S& ~ }6 v2 ?3 t$ R- {) Y' \8 ]
this.getobjstyle=function(node,prop)
/ ?2 l. F/ h1 p$ W" s; L {
) P# o3 ^# R! h/ \3 h! d$ ]# j try
( v& h# t2 E* n0 @" M. ]$ u {/ K D# M* o0 l% G) R- v! V
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);( Q+ {7 n6 s( z j5 ^# N
}% E# ^% H% _+ ]/ k' z( R
catch(e). R, Y2 g6 W+ L p. ~9 \
{. N7 a6 G1 B0 ]4 a1 F# R$ P
if(debug)
# g+ |+ K5 z" } f8 V, l {
E; u% F8 c* @- l. o alert(e.message);
& m: _; l0 y m1 V) v+ T) r7 O }
% @4 d0 y0 B- I) i7 q
, J, {4 {' j C5 Q' Q return "200";
& W1 A% U$ P! G }. w m* |* X) U( m8 H
}
9 g, ~$ U e& g5 q: Y% G $ n! ~% J0 z9 B( x$ c& m6 A
this.RemoveHide=function(page,objname)5 ^; D$ A. x0 H' b
{) F7 p5 H- e2 r
try* S+ b. z! |& p8 V2 y% T
{$ ]( s! T+ h: `* P; e2 ]: | X
var minValue=15;0 O n# J- `! Q* q: x5 @
var objs=page.getElementsByTagName(objname); # |8 [% L0 A$ I/ Y% }8 N: S
/ w9 d3 y+ D- s7 Q6 J3 Y% t* P if(objs.length == 0)
* ?; p, Q2 X5 j# c" o {
( M$ F3 @- _" G if(debug)3 r8 i1 ]& E5 N1 h( X
{
1 A/ Z. l3 P* ?4 L alert("no object found!:"+objname);; |4 u( f4 x1 t( Y
}
K9 X$ S7 \+ s# g; c" K }
( y# [5 A. M8 B. B1 U& }. W. A w a5 u else
0 Z: ]1 {2 T& e, V% W) y {, Y6 N# h: v, J4 O% c
' X; N, O+ M3 z+ D
for(var i=objs.length-1;i>=0;i--)
% N; l0 E8 G/ y' t4 M5 _' ^7 h `. W B {
2 l B/ c) H4 o- I5 F var node=objs.item(i); , Y' {0 I6 C2 q9 z
9 @8 U# a; G7 v1 D) a
$ M! T6 Q) B L. D% o8 C if(this.getobjstyle(node,"display") == "none" ||+ g2 u: q7 E) }" T, \9 @
this.getobjstyle(node,"visibility") =="hidden" ||, i# N! M9 y4 Z9 k8 `
parseInt(this.getobjstyle(node,"font-size")) == 0) # r, T s; p7 M8 l' E' e; d9 _" g& F
{# ]/ Q! ^ U3 o$ V6 j& w
if(debug)' }+ l+ z& Q2 u4 Z* o, @
{
4 g+ [- n! A. r: r7 v7 u alert("remove invisiable!");0 O5 P& K* a4 w8 O: Z
}
' ]) a/ `, C1 ~" `+ m node.parentNode.removeChild(node);- \6 ?1 j6 P% |3 i* H- ^; s/ i
4 k5 o) g' {7 \+ o
}, n1 b9 O. Y8 T" e
else
9 J/ p, A% b6 ]+ S! m1 E {0 f6 G1 q6 N: F' y6 X
if(node.parentNode) ' i. \1 u2 L* V Q! [0 B" l/ ?+ H. C
{
1 { o0 n! ~8 m6 f/ ` var orgNode=node;
6 \, \" M0 d9 D6 a* [. g0 R W var orgColor=this.getobjstyle(orgNode,"color")2 i$ a/ f& U' P: q* r3 v
var orgRGB=getRGB(orgColor);
; M& P k( f6 B0 V1 X9 B 6 \$ V2 {+ {$ _% r: {* b: m6 @! [' U
var parentNode=node.parentNode
+ @1 r9 o3 Q, b- q Y. i var parentBgColor=this.getobjstyle(parentNode,"background-color");8 ~% [- u2 I5 k" ~4 ~ W9 Y( P9 s% F" C
. q0 J. T( [- p* D
var isLast=false;
: M5 F3 ~" v5 j5 x2 v& w2 t } - _# ?4 i8 C. i
while(parentBgColor == "transparent") 5 d2 Y( u$ ]3 ^7 o
{& ]* {/ \5 Y; w: A0 |' K
& m4 B2 x) |& H( v
; |. {0 [& H. J: R
if(parentNode.parentNode == null)
$ ~8 I9 w& ~) j) R% H* v {
3 v$ Z# N9 Y$ j( Z7 n7 b isLast=true;: n1 V; d! r, C8 _' ]! k
break;
O' c( f! W' ]9 [ }. [4 e1 D/ T* |/ K" P2 N) l* s' Y
parentNode=parentNode.parentNode;! m# C/ t: E7 p6 z6 l
parentBgColor=this.getobjstyle(parentNode,"background-color");
# }, s/ ^8 N. R* k+ c
$ g* ~" o) {( r7 E$ s; N if(parentBgColor != "transparent") % o* E1 p1 p( l, l
{
/ v& P$ K4 t7 Z; R break;
, X6 y% r# K( T% e1 J+ R0 G1 m$ P }1 r2 R% _" ], a: X& x
}
$ F' i, I; m" S0 m if(isLast)
* Z& I0 E7 n4 B/ A {6 x7 ^: }/ U( z2 T9 v2 \8 ^
if(debug)
7 [/ ?1 e5 u: ^) Z' ?) W4 J {) L0 r; H+ n, ^8 B3 ?/ ?6 J
alert("last!!");9 a9 O3 l9 z# t
}
j L5 ]3 W. [. i% N) @- V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' B4 {7 z' G1 q& C {
& K Y1 F6 q( v3 L& B orgNode.parentNode.removeChild(orgNode); 3 B3 t6 |3 h `, ?5 G# l+ H
}& _: b* [% M9 x& j( B# u2 M9 N( d
}0 N( ~6 _5 g6 L# S8 z5 T4 N
else
; E" o6 u) ?3 L' z1 B {& e; q& u" e4 M8 z
if(debug)
- H0 j7 }/ r/ C" l3 O, u; { { j9 n, y6 z9 J( } W" E- t/ g
alert("compare color and parent bgcolor!");
$ ]4 f0 F2 P) `0 u" J }: ~7 o2 w) V2 g5 [! X8 p& {, p
parentBgRGB=getRGB(parentBgColor);
. V% s. I# I C1 L1 F if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- I: ~5 | J( D6 N! L/ N. t4 z {- s. h( v4 E) I2 [3 K" `
orgNode.parentNode.removeChild(orgNode);
2 O) ]/ [9 _4 | }7 k8 l! v5 {' d- Z- i
}
3 s: y4 ?2 a+ T }3 M' S- ]6 S# s& h0 G
}
, Q: d6 v1 S5 ~$ j6 j K' } }% I( `' \9 |# J) H2 q" ]
}- R* b" }$ {/ j: L" w& @2 r3 A
% T% d7 S& t Z6 w
- S* q1 B' `) b1 {% _ var itemFrames = page.getElementsByTagName("frame");: u; ?3 Y( v1 p; S5 i/ s
var itemiFrames = page.getElementsByTagName("iframe");9 X( U1 G; N) d; Y
! V& [5 ^( Q# a4 b var frame, iframe;* }; x+ k) U/ q% p' z; d
if (itemFrames.length > 0)' X: L* ]5 Z! F3 }& L: u+ [
{
/ }9 {) q& }3 W8 M1 W4 M8 r for (var i = 0 ; i< itemFrames.length ; i++)
) ~1 e. [. \! z, k! S {
p+ y3 y; Q3 x2 b5 K L/ H frame = itemFrames.contentDocument;
4 { c; [; i# R9 V; L# O% S this.RemoveHide(frame,objname); p( i3 T1 w, z) b# a
}6 a' x7 ~. \: S4 [& R% Q8 F
}7 l7 u7 S9 F+ J# ]' ?1 c4 s& Z
if (itemiFrames.length > 0)
# v+ @+ j+ I% h' e7 O+ E {
- w" v+ {. ]5 U5 z: @ for (var i = 0 ; i < itemiFrames.length ; i++)
/ W. G7 ]+ `/ C8 e5 Q5 F s% y {
2 X$ C; h) {, y; M4 x/ }7 a. ~% d iframe = itemiFrames.contentDocument;
$ K( z+ _! q2 \ this.RemoveHide(iframe,objname); Z: P. |3 e/ f1 `
}
% k; |- y; }2 L }* ~4 z, O$ I) f: a& h
}
" {) ^2 i7 V$ Q m+ `2 E' U catch(e)
, d6 [: o( Y2 t% A! k# g- j1 p+ d {
2 K0 o( s3 B' X5 [* ]8 k if(debug)
+ ]9 V& R: M5 C/ ~" V {8 n+ X2 I6 L9 I3 ?. b( Y7 q
alert(e.message);8 A( U! Z; L8 c+ n' b. r
}( E/ t' D( d3 d
}
3 M: B6 y9 m$ n2 M/ Y) x }$ `. `4 B1 ~# Q, T# Q: E
% B' D& T, G3 q2 N}
2 E- |( v P* C3 l1 H7 [* f) |; z8 Q, w- u
function getRGB(colorString)
4 Z/ e, W! ^& `+ F! {5 U: A{
( }; P# _7 A0 E& t var RGB = new Array;
5 \2 t; u- X3 k+ A2 I9 N: J/ b8 c var tempSting=colorString.substring(4,colorString.length-1);" r4 [6 d0 M0 x7 Q, [" A' c# [! S
var tempArray=tempSting.split(",");
: Z& g" V8 T7 M! B5 M1 h( Q; t! \6 J
RGB[0]=parseInt(tempArray[0]);9 k8 ^4 t. V" v# w
RGB[1]=parseInt(tempArray[1]);% a5 r" f1 G, v, o( ?. H
RGB[2]=parseInt(tempArray[2]);
. J5 O( r, S) J' A2 Y+ Y% T 6 R9 d( {% Q* s
return RGB;
3 ^! e2 z8 @, }) B Q}
7 N, i, y3 B8 O0 w: Q. wfunction keys(evt)
7 n0 ?0 v0 n$ w* a9 B: b {
$ r% l" J7 n+ d( N if(evt.ctrlKey && evt.keyCode=="81")
9 c. L0 B3 f2 B' ?; I" e { 1 c1 C4 q! e. O
CleanHideObj.on(0,1);
8 p. |$ o- S# b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + ] u( I; [+ j/ z0 L4 ]
- }+ ^1 ]7 [" C4 @$ ]! s
} , l! v) J" K' {6 r/ A! W/ Z
} ( I* i+ d' C( q9 a) ?. P( T
document.addEventListener('keydown', keys, false);
( P/ N6 ^7 C: }, }0 d0 pGM_registerMenuCommand ('Clean Hide',( U9 x. a8 M: E* F: G V
function(e){0 j0 m9 u+ {0 a7 s- _
CleanHideObj.on(0,1)) E6 b) I" s% B% p+ ]6 y/ Q) m" r. g6 @! E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 e/ S9 H0 [% {- N: A4 L* L});7 S# [( [; ^ h0 c* \7 q
|
评分
-
查看全部评分
|