|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
# `- J2 U# V+ |' R2 c
' f" l; D0 g0 c. G$ N3 J: P F火狐插件,用猴子
4 N, \5 q, k* Z+ l6 J, l2 z( _5 R- z: E2 \3 f% h0 t
var debug=false;
' G* r! ]$ N! ^+ i5 U: Pvar CleanHideObj=new CleanHideClass();9 m# w' ?; ?$ t" |& W% P2 W
, Q( `$ ?1 N5 Z' Sfunction CleanHideClass() " U7 u& m+ h2 ^6 Z
{ : W; V6 d0 z J8 x8 w
9 l8 h& n' w m* F
this.on=function(id,bMZ)- }& h2 n% F/ n' y* p" o
{
3 Q3 l9 ~" W/ D! J( A0 q: g 4 _) }* p1 z7 S$ h6 e% X# T, H7 q
if(id == 0)
: D$ a/ @; e" p3 M {8 L. u& d# c) }& A/ r U C
var page=/* document.getElementById("content").contentDocument */document; * W" s- M* p) ?# P" U
this.RemoveHide(page,"span");
1 c) S, x. w) k# t: R this.RemoveHide(page,"font");
: Q" r9 f$ L2 @& ~5 s3 W, j0 J! L this.RemoveHide(page,"div");
- m! _/ s8 H7 P# p4 Z this.RemoveHide(page,"p");+ r' W; E8 |: u6 R$ [* K
* M. _% t3 f$ R0 E3 s
}/ G" J/ T7 R! K, l6 S! V7 P
, I) g- ~& g4 [6 `
}
: {) V Y% E+ A( z, D0 \( b# n this.getobjstyle=function(node,prop)
' H ~* N2 v: T- O* v0 _ {
+ e* a9 N+ J$ k try
: I" ?3 ^3 a% s2 C {
$ ^2 K2 @* j/ h6 ? return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 _- b/ [2 V4 k L. R6 c5 l
}
' O1 ]; W5 v& R ?5 r) J: \( D catch(e)3 v$ @1 G3 Q Y* F2 a2 F
{
) n, T8 S5 {7 Y if(debug)0 O. x8 `% P" e
{
. [3 i0 L7 z+ {' G1 A alert(e.message);
3 Q5 R ^0 O% m. r5 [, Y7 X }9 d* T! P0 q, K0 {2 C
b/ S8 v, t) q4 ~ return "200";, ~5 U/ h- h! J4 U; }1 A3 j
}
! J" x0 W! C4 B9 H2 h }. z; Q! w! n4 e
2 t9 L7 x4 I, Y' f% W this.RemoveHide=function(page,objname)
' g! t! k m5 `9 ~8 z {/ N0 N9 \% e! K, A1 f' j& x
try
& y: v1 }% h, _' u2 N/ D {
( ~6 p* r* W# [ m2 Y var minValue=15;1 W. J+ U+ h) t1 ?
var objs=page.getElementsByTagName(objname); k% p. T% s9 I1 }5 U. f6 D
9 Q6 M# L) l" K" E, s! O P if(objs.length == 0) * w$ Y# \/ @+ J! R/ b
{
4 u; V% k+ m' q) ~3 J! p if(debug) d. l3 R0 V2 c; g0 a
{1 {, A5 ?5 o) ^* j# [. J
alert("no object found!:"+objname);
# r- y" s$ K$ M0 n4 e; W. l! j3 ]$ R; G }
& a0 U) [# ~8 r$ A5 |+ y; H }. `5 `$ v% f$ ?: R# C* M- h# K7 F
else
1 M" A! K( e/ l9 `& H {3 O8 G( e( q3 ]
6 ]1 p/ j) U$ d# K* N" V9 N" v for(var i=objs.length-1;i>=0;i--) 1 e) ?1 v+ A9 w/ ^. i! x: }% I
{
% Y3 Q: }- n, k; f var node=objs.item(i);
& t8 G9 c9 r: v4 K i, n
+ o+ ^) u% x* y; s8 ?9 M$ k
8 F3 R0 |& @4 j4 c+ z if(this.getobjstyle(node,"display") == "none" ||
1 g) p: s( u0 p7 A this.getobjstyle(node,"visibility") =="hidden" ||8 Z' T* T5 r3 k6 |" R0 m! R
parseInt(this.getobjstyle(node,"font-size")) == 0)
5 U7 K; w" e* _7 B {
; C y0 t7 [) q1 x$ n$ Z if(debug)- Q+ W& b6 D0 e: o
{
; R" [' M" Y: ~0 w alert("remove invisiable!");
8 p3 o6 X! i. p }: }; S) i9 l `# I
node.parentNode.removeChild(node);6 I/ u$ p9 S& D: J# ~- f$ S% V
: f5 @3 |; Z5 {2 M6 ` }
' |' f3 \3 b9 ]% D" c) P. E9 F else
2 O; u2 ?4 ^' o* ?7 Z+ R {# w* G' V1 J! ^1 B5 } {6 J
if(node.parentNode) ( J# `. p$ L' t* e. U
{3 H. W/ K/ E" p2 K- d5 k
var orgNode=node;$ _/ N- P N) D4 ~) x" N
var orgColor=this.getobjstyle(orgNode,"color")
; V: [; y' R! ]! T+ s3 R$ k! N var orgRGB=getRGB(orgColor); 7 y. E5 c+ L5 ?, u9 U2 L. \
& q2 E+ U- j: [7 I& L var parentNode=node.parentNode: d8 q- \- U" e, ~
var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 C/ y" ^2 g) y8 h7 r0 v; e # ]) H' B+ I# q3 s
var isLast=false;
4 p' y8 d+ Y3 i% ~ & g- p6 E1 c& w% c5 o
while(parentBgColor == "transparent") 7 V1 Y1 @' s% R. J
{
. ]4 _4 Q/ M, a' W $ e& \% M8 G5 A" t
# v+ m3 J) J! h/ q8 ~
if(parentNode.parentNode == null)
. i: e! u: ? C$ z T- H0 E {) F8 z3 z' X" q
isLast=true;4 ]' J" s+ m( |/ h
break;
- c; b0 c% s$ v& q; E }
" @4 A7 k8 c! `& E2 q! C1 X. R7 m parentNode=parentNode.parentNode; w2 z( g' J' O. i
parentBgColor=this.getobjstyle(parentNode,"background-color");! }0 U" J' W! c7 ^2 e6 E3 b' [
6 C0 e3 ^4 T9 ~) l( z if(parentBgColor != "transparent") 6 ^6 o6 [7 l. t
{5 W) z' ]( H: h0 s6 d
break;) G; M6 E8 f) B- G4 P9 q
}
. Z) t$ y: ] K }, M! Y+ u4 @5 \* {
if(isLast) ' S( w% b2 p q" k8 L8 b
{
0 U0 W& D, ^: e- K if(debug)8 I2 L+ P% @$ V! `" v
{
/ ~+ }: o/ C+ G! d alert("last!!");1 e( h0 P0 X: V# q% x3 ?% ^
}
x" C3 ^7 w/ U5 _( f if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ m! M( m6 I! J! v# h4 V
{
0 j3 K* K6 N+ d; _$ ]/ q orgNode.parentNode.removeChild(orgNode); : P) D g- J4 j f) d) u4 j7 O
}4 |. z1 F/ a# G6 Q" ]+ {& e3 A
}& q d! t* E& c: ^$ P, P2 e
else
* {4 a' u: x% ~ {
0 @: X8 M) C6 O B if(debug)4 J! x/ D+ f) d f) s$ g4 q) c+ [
{
2 n* t% i8 \3 f" V! j c' Q alert("compare color and parent bgcolor!");* E5 [# b$ E- [ }0 ]% g' X
}, P% b3 ]( B0 p6 O* K
parentBgRGB=getRGB(parentBgColor);) \6 S: Q7 _' c; }
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) V) Y. V+ H& i4 F- M3 | {; k6 Z8 k" D5 o8 [1 _6 C
orgNode.parentNode.removeChild(orgNode);
T( f o3 l% U! t' |+ x }
2 D6 x2 |' C( P6 R# _" s8 f }
* p. h( ?) N# a' Z+ h }
) V/ j i7 Z% I' O6 u2 L }
W9 _( u7 U* [) {& a3 R }
3 f3 r8 f8 t" y! X }
0 m4 q9 t- O0 k6 B * u- g1 v* A- U5 `0 a
" p+ i( I8 w1 Z3 Q
var itemFrames = page.getElementsByTagName("frame");
+ C: U0 p7 L' O: P3 H7 o' C7 K8 g" y/ K var itemiFrames = page.getElementsByTagName("iframe");
' H# L) K( M& }, ^0 i 4 e8 V7 A: p* w4 x& D8 ~- L
var frame, iframe;
' l! Y" F! w8 [# ^$ Z0 I: l if (itemFrames.length > 0)
- M: S# k) X/ q1 l4 |$ ] {
6 {& }8 y0 |( b4 B* R for (var i = 0 ; i< itemFrames.length ; i++) # d& `$ ^. t6 e k
{
1 P, q* `2 q7 v) [( T; }5 N0 ~ frame = itemFrames.contentDocument;& T" m& L" e2 \! j
this.RemoveHide(frame,objname);
, b3 H1 d0 K0 p4 w. |1 V }
/ S7 P7 _1 I0 X3 H) n7 l8 ^1 K; j }' X/ y' T( H% ^! t
if (itemiFrames.length > 0)
* j$ d6 H; { K {
1 H1 c1 [7 J% v% K8 L( M! O for (var i = 0 ; i < itemiFrames.length ; i++)
* X# h/ T9 [( D/ k {
% d9 i2 k* J9 ~: R iframe = itemiFrames.contentDocument;
* O* j9 g. m) O# x/ d3 ~" f this.RemoveHide(iframe,objname);
3 B- [/ `, l/ ?8 ^6 v }# [& P5 }. e' |( x3 R, A$ U
}
9 Q0 f0 E$ _- D: h+ ~( Z5 {$ W }2 k# B, ]% d D, a# Q
catch(e)! g" c+ M5 L/ _1 c/ F+ ~) f) g
{
% C6 b# K9 H' h$ ?+ L' @( B if(debug)% x" l: z [ W: p# g8 i% I
{4 I3 {+ D2 [3 g" d, f& k6 R
alert(e.message);
3 {! X# z7 K0 G }% P, ^* Y( g& q4 g
}
+ I# ]/ C! s3 I7 Z5 z: Y2 `0 f }* A/ d9 U4 M7 Y8 m, K+ X, l
( \* Q* b( s3 \% |) S
}
( q" m9 o( ]" y/ ^2 i: Z
" D+ e0 Q( S* J9 v/ _, Ifunction getRGB(colorString)
9 E! m" \* Y4 H9 D* V# t{3 O8 E. }* @% V( M0 t, r
var RGB = new Array;4 L% ?+ H' e& Z6 o8 D" z
var tempSting=colorString.substring(4,colorString.length-1);
P B& P+ M+ J- S! Z5 I* q) ^8 l var tempArray=tempSting.split(",");
6 H. q4 \5 V0 ]2 y8 {# B# M5 F1 r7 F3 W7 ~: n5 Q: b
RGB[0]=parseInt(tempArray[0]); S( V! r3 p6 n; K J
RGB[1]=parseInt(tempArray[1]);, x7 C# Q' `6 B3 z0 {5 z2 l
RGB[2]=parseInt(tempArray[2]);/ m) N' R2 f4 X- j% K! T) j8 T ^
# V2 T# T! c/ ]! S: x
return RGB;5 G- O8 c/ u& A2 J% V( V+ l
}6 P- m: C! a9 d
function keys(evt)
2 s. q0 |" d2 g {
1 [: v# M/ \, }+ k* r if(evt.ctrlKey && evt.keyCode=="81") . K+ x/ y3 k" Y* R3 H8 W( D: l6 E
{
+ Z0 t! [+ h: a- V CleanHideObj.on(0,1);& s" z7 l1 m$ H; M& O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- r Q- t0 u9 m " j2 o0 h" p2 C: j3 a
}
$ k \, s m( x, [$ r2 K }
, b( t; |9 `7 @9 q5 C, O Ldocument.addEventListener('keydown', keys, false);
, a T; s4 S# u2 z3 ?3 WGM_registerMenuCommand ('Clean Hide',2 L0 v( ?: N! X% W: v3 W
function(e){
" \/ s2 ~! L3 u. k' y8 a5 b& l8 rCleanHideObj.on(0,1)' G9 I9 \' B1 n* I* l, k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 z: U# J* h% N});
: d; x! C& r& w! q* z |
评分
-
查看全部评分
|