|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : R, Y) u% L, i8 n" V' G
5 _. Z( q k, y9 [, X火狐插件,用猴子
2 E1 o) x1 K& a) G) h9 j1 c9 J6 L, l |# n. t! f* ~7 _
var debug=false;
, [: Z l! X2 {( r- B% Pvar CleanHideObj=new CleanHideClass();5 Y3 d8 M' f6 c( Q
2 V+ ]' w$ S$ E' q* hfunction CleanHideClass() 9 ? P p9 z! V: J; C
{ 3 @$ G4 k5 `! G) x- \/ _$ @) c7 |- u
8 ~ M" w7 D* T1 m8 M" {6 m this.on=function(id,bMZ)
" i F/ s0 n8 d% ]) h* H {
' }5 n- e! }* {' y9 L 8 z1 z% I' B" S' b4 Z/ A6 k8 `
if(id == 0)
8 f9 ]% |& D& [% y2 z$ d {- Q9 \0 j7 Y7 V3 j
var page=/* document.getElementById("content").contentDocument */document;
+ W6 g) Z& S8 K# Y' t this.RemoveHide(page,"span");, S+ E5 U# ?& b" W" I9 v% ]
this.RemoveHide(page,"font");; A% N. W q6 O( U4 }" C" W
this.RemoveHide(page,"div");+ F8 c6 P8 x0 X" H
this.RemoveHide(page,"p");
0 N* d3 t2 ?5 w. l& B% z
0 o0 O# B. d3 O! ~ Y9 w6 ] }
9 s4 H' N# h2 m$ j2 H3 b, }8 J3 j, i
* W8 O% _+ ~2 t% h: a0 C }
! j; e7 ^3 F N' o6 ` this.getobjstyle=function(node,prop). H6 ?& @0 d) w& ] g4 E4 q
{6 g x# r, n1 o
try. s9 [# t: G: d& L8 c
{
# \7 m% C E2 ? W# N return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 I7 }3 C3 f# } f; c a `
}
' V& ]6 N. E& n: I6 d- c6 l catch(e)& u% V, W3 ~% p
{
: T) H6 k1 Y: B if(debug)
: J, e7 a" {) D2 Y8 z {
' Q3 V8 P Z' B alert(e.message);* L8 |) C, m& G& ^7 W; v
}5 t; n- R& ]/ X! C- B. x
) j' {" K& m3 p+ p v return "200";
' W' l. {9 I' B" g! E }- U' B, X: V8 H! ]
}+ ~- p( i& d4 @# _# J
! k- z% R/ N; b% ?) o this.RemoveHide=function(page,objname)
* h; {; Y. A n& ?8 L( X; b; p; c {, c! C% e' X( D! U$ r" N. T( b
try3 k: i( L% _ _7 |5 W
{
; e1 ]6 I0 {7 \6 X3 S$ Y7 j+ ~ var minValue=15;
% `0 a+ i- U. I. G. `3 b var objs=page.getElementsByTagName(objname);
2 N* h2 C4 b0 l$ Y, D' W+ V3 y6 ?5 N8 K( V+ N* `! H
if(objs.length == 0) + G+ o1 j9 j" O" p6 Z) a- B
{
' @" E2 w2 ? J, A- u8 E! ^ if(debug)6 F% r9 M g6 |- O( V& w Q
{& B7 J- w" r* d
alert("no object found!:"+objname);+ b* W% S8 b( b- B- z- e. ]! U
}: M0 L/ f4 a9 l# g; A0 b3 M
}
2 j4 B# I' B# }3 } else* J( T' j8 [5 S5 H% P* P' o, i
{
6 ?9 v4 V/ ?# c5 I% ]+ f1 n& s$ W 7 i7 g6 P. p' @, {: {# I# `
for(var i=objs.length-1;i>=0;i--)
9 d) r& e. V7 z- p {
+ q( o0 J$ `, }* a% N var node=objs.item(i);
?* Z$ \3 v8 n- L& _$ m' d6 Z Y& Z, _+ N) y% p$ J/ h) E/ ]
( ]/ @& l( z8 A' h! B
if(this.getobjstyle(node,"display") == "none" ||
- G; Q6 B' z! v3 m) m8 Y; m this.getobjstyle(node,"visibility") =="hidden" ||3 |* p, u( f @- y- [5 B
parseInt(this.getobjstyle(node,"font-size")) == 0)
2 u& u3 }9 V/ E9 P! U {
- ~* J% _+ y! h' H/ M1 } if(debug)
/ a) A: [' h$ p7 P: | {
, c- O% v3 @+ L7 T( E! n alert("remove invisiable!");
3 o: v1 u& V4 Q L } g, P3 Z* |# B8 }
node.parentNode.removeChild(node);# R0 |1 i* D k; _7 {3 s) {2 `
2 u& n& I+ }5 B X }- c; H# g2 G' h/ G. g* ~
else
5 C% |2 f4 L! L9 F7 @( C& _, R {
0 B3 d; [, p" [% E4 C& D( H$ k if(node.parentNode) : |1 g9 c& \' I- N- T
{( R) Z/ g# }( k$ U: W
var orgNode=node;8 h2 k1 B2 N e+ w
var orgColor=this.getobjstyle(orgNode,"color")
; G( C' e0 y0 t- b var orgRGB=getRGB(orgColor);
0 w1 T f2 {. z4 y/ z1 u5 V" d
4 k/ n4 m' N# K4 s& r" c% h( q& m' D var parentNode=node.parentNode
' K5 n" |4 b+ j, L- M var parentBgColor=this.getobjstyle(parentNode,"background-color");/ p& ]9 ^8 d( E6 T5 ^6 k
$ D, k0 W0 P# A2 I- |/ e+ @- B var isLast=false;
0 f# G7 U! K% A. T
3 _/ e; A$ _1 ]8 Y+ Z, B$ \ while(parentBgColor == "transparent")
3 h( r# e) ~! Y5 a& E3 C& l4 z {' V+ J- j! b/ a8 c: ]0 H; E: N5 X
4 F* B0 d: j1 W# n 3 C" k) b; b3 E. [, Z+ K- l4 A, c
if(parentNode.parentNode == null)
0 b( S# R1 z9 G T/ F+ Z: q" i, [ {. i+ `) t8 l! L* D, e. R' u) y6 e
isLast=true;7 N3 n! Q( ~5 d+ i9 |9 Y
break;- s5 C: j, \, M( ~
}
1 Q* v9 ~; t9 `) s2 s parentNode=parentNode.parentNode;
) ` H; |$ L: {! `' V V2 z parentBgColor=this.getobjstyle(parentNode,"background-color");) z9 L, |; q' _. J* e) ]
$ h1 M' a* Q5 W2 g; W
if(parentBgColor != "transparent") 3 P. }+ s. l# A- r. V; Z/ }1 n* r
{
$ s/ c% a2 ?0 m7 [. s6 b break;
. j- \" N) R' [( q }
0 ~# N3 L* r9 N0 E4 X }
7 c6 `+ Y# m# @1 \ if(isLast)
* E$ M: d3 x# L* M* }& N: E {9 M: V% W' I& j- X$ s
if(debug)# P- q& F0 y1 {' j/ Q
{* j: ^( R% K0 D: g; ]% \
alert("last!!");% w: k" J% V4 l. g2 u% w' v& I9 U
}& f' ]$ E+ p9 m( d4 l
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% H2 q; H: v/ J$ z7 H0 y+ n
{
6 r( a7 a2 G! k/ K0 N orgNode.parentNode.removeChild(orgNode); * z' Y3 p4 b) R* Z7 w5 P+ [
}
# ]; s* R/ `. L e }
F) X8 D( W$ A6 W( Q9 c; n2 \8 ? |2 r else% T' R* m5 D( e* @: B# ]4 K
{: [# A, E. b& D* t" u, b' }3 @
if(debug)1 i" \& [9 D# q7 E( C9 i6 q* c+ `
{
# h( D4 C) Y2 { alert("compare color and parent bgcolor!");+ h# z5 l0 s* v! f* ]* b( K) ^! w f
}/ R5 Q4 p6 i1 ^ g h# Y/ F
parentBgRGB=getRGB(parentBgColor);/ i7 E7 s5 J9 d) h9 I: h3 ]6 a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 R+ e0 ~( O9 z0 H
{
/ J. K: w7 R, R/ F6 k7 x2 S$ ]0 w) x orgNode.parentNode.removeChild(orgNode); 5 y8 D5 {& [& O" A+ h9 a" R" G
}
/ r, X, D! \5 N- w+ W }
; D2 {/ d- `" T( l6 U9 | }0 ~; e8 x6 H6 w7 a
}$ Q! R+ h' T) r( @0 p
}0 {" N8 V3 e# @3 J
}
& t3 p# [, ^0 `% U 9 h% q! {$ s) r0 Q2 Z! _1 v
' d( t1 Q8 q6 T2 }5 i3 H
var itemFrames = page.getElementsByTagName("frame");
, n. c& I/ P a$ q0 ]- S N7 J$ j" p var itemiFrames = page.getElementsByTagName("iframe");
9 }! I; i8 B9 E, n& p$ n- a& s $ ?# H, t* ~2 p8 {0 H- v7 i( m
var frame, iframe;
. |5 u9 f1 t; D/ o1 r. C if (itemFrames.length > 0)0 z! w+ L' e) x; z9 B/ R9 `
{
( A; _2 M9 P' Z/ } for (var i = 0 ; i< itemFrames.length ; i++) , R9 ^( L$ n5 E% }8 y& Y
{
; s8 W' H+ B# ^" O frame = itemFrames.contentDocument;7 _( n; \1 I( z8 c _
this.RemoveHide(frame,objname); + F3 h- Y- G' @/ w
}" U- N! S( S* m, B3 H
}2 l/ P L1 Z0 u$ u
if (itemiFrames.length > 0)3 o; A2 Z# x" P7 s- e0 f
{
3 i5 g% ]! A9 q for (var i = 0 ; i < itemiFrames.length ; i++) d3 Z0 q8 O3 T
{
0 ?! @! @$ n' S iframe = itemiFrames.contentDocument;' n! r- h6 p1 {
this.RemoveHide(iframe,objname);
' L; ~ G9 K" ~- H1 S: t }
: L" ?2 l) ~/ p) P }
$ Q+ O+ [! R, V, f7 L" h, ? }
. Q$ @: x2 y/ |" @& i1 _! K catch(e)
5 A! t- s: `" d4 S* O: D {2 r. n' n5 A& {% @' w
if(debug)7 q* f" d4 O; b- L e! [
{
/ U& P& X/ S+ z# E* m4 Y/ J alert(e.message);
# @+ E) @. m) m9 i; g) f: ] Q }2 K+ q% U% h: J, @
}
7 X$ f3 a8 u& [ }
3 C. T( g6 j6 H7 q3 n4 o & H s/ V: y# b" N
}
! g# s% L$ j4 { w. U: y8 E1 e6 k, S% y. {$ @ |
function getRGB(colorString)
4 j# x& s( _: ^3 N! F8 d" U{
* u4 O) i( Z) I* S& Y, l var RGB = new Array;8 X5 c: Z& g1 Y
var tempSting=colorString.substring(4,colorString.length-1);
- d: k$ l$ c; ] var tempArray=tempSting.split(",");
7 W. y( {: i6 G/ ?# r/ Y, n
. q/ I, |3 _- H7 l/ ~0 ] RGB[0]=parseInt(tempArray[0]);
3 M& `' `3 C" b- ? RGB[1]=parseInt(tempArray[1]);7 K' B: E: V4 F/ Z& _, b$ B
RGB[2]=parseInt(tempArray[2]);1 c& u% m# h6 n
& ?4 K8 _: |# C$ i
return RGB;% l0 V0 f6 j7 {4 N
}; b. w) X1 Y& T6 X+ @0 E7 J- O- O
function keys(evt) 7 {$ v0 v* o3 _" G; T; g
{
9 r* W4 L# O+ r( d if(evt.ctrlKey && evt.keyCode=="81")
3 R, T7 U: p3 O/ x( B { , Q! X# n! H: A7 f7 Q1 d n. G
CleanHideObj.on(0,1);
! [) A" ]* b( W9 {2 W alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
J3 H; E0 p/ U3 y2 v , n$ y8 U \% P5 G3 T* V: C
}
2 J- _3 _3 T% ~! M3 Q } a) V# u! u0 R; k( L4 \+ F: s
document.addEventListener('keydown', keys, false);
2 q7 Z$ P, k6 ]( FGM_registerMenuCommand ('Clean Hide',9 ?% g1 S" \, z( a3 X/ m
function(e){$ a& Q8 _4 D8 `- u
CleanHideObj.on(0,1)
% _4 p7 L$ e: ?% ^. s Calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& j1 T. w! j; V% U, s& v
});
! \' f5 H, H7 a' u) @- t) ^ |
评分
-
查看全部评分
|