|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* [( Z2 M, l) b8 Z* j# Q, i% I+ c0 f( F
火狐插件,用猴子% K; T! F2 F( X# q
7 P9 t. I# H! \5 ^( N
var debug=false;
1 r! ^8 @2 b0 }2 o' G3 \6 F8 xvar CleanHideObj=new CleanHideClass();
4 `" |9 ^6 k) q" |! c; z* t q
' Q& G" Y7 s8 S9 f( q$ ffunction CleanHideClass()
+ Y9 C2 h8 ]9 q" P{
4 S9 Q: Z: A% n/ v
8 [" G, [6 [% ` Q9 }: Y this.on=function(id,bMZ)' Z) [7 i, o; j6 B2 y
{/ I+ g& h- P! g- q
2 @4 {4 f# N. P( T$ s" a* N
if(id == 0)0 @. v. [# ?. ?" U
{
8 k6 W4 Y& h* n1 I8 Y var page=/* document.getElementById("content").contentDocument */document; * F4 y0 \5 ]5 y$ ]7 L3 P$ Z
this.RemoveHide(page,"span");* L. N3 M* j+ ~: o; o
this.RemoveHide(page,"font");
7 H |: N8 r9 L0 z; [0 i this.RemoveHide(page,"div");6 m3 K1 a1 p' D% C; d5 g
this.RemoveHide(page,"p");
3 ]7 M1 c' C3 X) R) Y( ]: K- a
# d3 x- c7 b7 p# r }
& q9 Q/ q- F* b7 B: ^
; s' o+ o7 u+ }# F6 z' k; A" F" f }
. |! }6 m& ?$ J4 E this.getobjstyle=function(node,prop)$ Q4 ?8 Y$ `+ `/ W7 ^8 t" o
{3 \" F* g% c. s( o% v- i5 X6 _
try1 U, N: K) w% `/ M1 t- x' R
{5 A1 V! K" C! L0 J( w
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 S" U$ l% Z$ A6 |/ q. E }
& F$ k- n3 f, b; | catch(e)1 p$ b: m% |9 @- \; b5 w
{
3 [* k& P- W) }0 g# @7 g1 c' U9 q if(debug)6 a3 m0 x0 ]: c/ {% g) W
{
+ Y6 }9 h: \. J$ {0 C( h+ q alert(e.message);) H1 G. _5 t/ Q; w( b, n3 Q
}- T# n Y' H+ c* w
/ r& J# r8 _$ e$ a7 r
return "200";4 R$ P7 \8 V# w
}7 k& {& }- ~% Q; J! R* ]
}
! ~. G- p' j( J5 H+ Q$ \ % A4 v+ @7 B/ |& l! c
this.RemoveHide=function(page,objname)6 d% i9 D9 }3 v
{2 y4 ?6 Z* l. l$ @
try
0 J' ]' \% p4 j3 l9 h" l {
# K) n* B( b* P8 R var minValue=15;
0 c5 ^/ O8 a% ^, l5 J) a var objs=page.getElementsByTagName(objname); $ s- Q! ?" Y' C1 u" ~, X& y
& X7 k9 s2 G5 t; G7 Z0 y if(objs.length == 0) 3 @" H0 |3 \9 {3 d( o
{, U1 ^& p! A4 f8 p. L
if(debug); s( B; y/ U' f; U' [
{) o& D$ D7 y& G( Z% g- ]+ ?9 `
alert("no object found!:"+objname);2 J- G1 z* a7 [, Z) B3 c
}* ` ?/ a# q' x4 X" L, K
}! g$ L% H3 w3 N, I; C3 Y
else
: a u: N; s+ s9 h L4 j {
( H, w: w8 U( f, Q- C 6 j* _/ X, h7 p* B+ ^7 k
for(var i=objs.length-1;i>=0;i--) . C: P! {5 S3 b4 Y6 Q8 D
{
6 _/ s1 R) Q. |8 |. E$ {; q6 ] var node=objs.item(i);
- b2 ~+ Q, N2 F 9 y* V: }# ^6 h- e% r
2 b; S1 a! m/ I6 R `/ A. ^$ U if(this.getobjstyle(node,"display") == "none" ||8 Z+ w9 d$ e- f& j
this.getobjstyle(node,"visibility") =="hidden" ||
9 U6 r. \" p2 L- ]& Z parseInt(this.getobjstyle(node,"font-size")) == 0) * T4 a/ F1 m. ~- b2 t6 Q% [
{% q" d+ q# ]+ r. V
if(debug)
# c t8 \1 l8 R4 U5 R3 f$ c; F2 Q9 c {
- r% a6 O0 h( Y" P alert("remove invisiable!");/ s: d1 H5 u, A, W) }4 w
}
+ @5 o' B7 I' S4 Y B node.parentNode.removeChild(node);
& s* {6 n# |6 O: E3 Z c * [9 O1 E- a$ }% ?6 n) E
}7 Q" V5 C/ ?( G
else
7 d4 @% D4 E* a/ v2 F X0 W {, W$ L6 V$ m/ R' w: @' X
if(node.parentNode) & V* x$ L/ Z1 E5 j( Q8 X+ a
{
1 f# ~, I) N! _+ a' Z& @( J4 u+ j var orgNode=node;/ x/ e9 w4 ?1 B/ a4 p- V
var orgColor=this.getobjstyle(orgNode,"color")% f) I- a* P0 K! x* w
var orgRGB=getRGB(orgColor);
' q9 w3 X2 \, }9 e' s f6 N2 Z
; J) j8 E3 W$ Y( K! c, V var parentNode=node.parentNode
; [! Q: G( l. r- L K. Z+ g" A var parentBgColor=this.getobjstyle(parentNode,"background-color");
' J, h4 p. d' U0 q# u }: y( `5 W 9 q1 T7 `& e& R( m' @
var isLast=false;
* }, ~: r1 ]" C' y- R 8 v3 a q* ^2 E' g. T4 w! b e; S
while(parentBgColor == "transparent")
* j0 N) y& B y: ]1 w1 p3 o) k {
: M) _6 L2 Y0 C* @, D. z+ o
, h$ v& e; y! n7 i7 {$ i1 U- r, I& y " y1 S1 Q1 h) u$ O' z
if(parentNode.parentNode == null)
* n/ u7 u# b$ Q, w3 ~& Z F4 [ {8 |/ W {- i! y m' c
isLast=true;! e' p2 E9 [- ^. h4 X& a
break;' B/ o) F* B& E! o
}
F3 M9 r6 [ }5 M& d- G( v' j parentNode=parentNode.parentNode;2 j7 a( E) W5 k- h! O
parentBgColor=this.getobjstyle(parentNode,"background-color");
* y: C" F3 g3 N1 {" {. w3 n1 U/ t# ^) I- I" G1 p1 _* y
if(parentBgColor != "transparent") # T, C1 F# E+ v5 [* F4 h; V6 Z
{" E6 m5 \7 E# C, G3 {! d
break;" h/ j. Y# w! x& `) c
}5 y9 B% L: ]# w$ T1 F
}
# z) ^. C4 b- H/ w0 ^( H if(isLast) # x' h8 A# |! i$ R# z
{
7 ]; d8 u7 z) }2 { if(debug)) k! Z5 Y F0 n% o/ d
{: q' a2 p, n% v M0 d3 a
alert("last!!");
; _9 U, h ^4 Z1 p }
- D# Z. D: I( J& b( w' Q+ u, v if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ Z8 V; M+ Q) I! L( e/ Z
{
3 v0 P" U: y* b, Z: g, b orgNode.parentNode.removeChild(orgNode); s# U' B* R+ Y2 h
}8 F5 q7 R- Z/ C! X
}$ O7 S* ~) E {2 _5 ~$ g
else) e3 @( ]1 K5 p4 F" Q3 [" \
{( s4 D, q9 L- g; G) b. ?( Y7 L% m" A
if(debug)
* \6 C1 @# b$ j {7 S! W" E/ D6 i5 x8 N
alert("compare color and parent bgcolor!");
: d9 \ P0 H+ ~$ j s3 ]9 O }$ V; L8 n L2 f9 y$ h7 w
parentBgRGB=getRGB(parentBgColor);0 Y3 k0 b7 `5 z" c
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))8 _2 e; l0 m0 t. X; l* m
{- B0 D* ^8 i* c; o
orgNode.parentNode.removeChild(orgNode);
' N" b3 \; u( @& b+ y {7 K }: R) N. F+ ^ H0 {' P/ ]% }
}3 a, S3 M5 U) B) ^0 C# \% |1 U
}
/ t7 N% x; W8 @2 K* C4 ?+ h$ j1 S }
7 G* g7 l q z, j/ \# v }1 h; m# `9 R: P* I6 I) G4 ^
}# [/ E$ r4 p6 r% l, {1 m8 v
. B2 c7 [/ X* d7 |3 `+ e, C
$ L& d1 |5 [5 B) w/ K6 S var itemFrames = page.getElementsByTagName("frame");
4 k& w7 O: [$ d: P6 }- Z& h var itemiFrames = page.getElementsByTagName("iframe");
& p( Y* m/ F j9 l3 o * @$ {# j" b( i U8 j$ L
var frame, iframe;
, o; }& o! L( O* x" |7 H7 r8 Q if (itemFrames.length > 0)' @" B' b: s, e9 Q
{: y0 d- `; {4 I- e! ~! H5 K/ y
for (var i = 0 ; i< itemFrames.length ; i++)
/ q; m6 U" v5 S5 _' M {
$ k7 @: n+ A4 A2 V$ r% s frame = itemFrames.contentDocument;
5 r, C: q$ @. S# j/ e this.RemoveHide(frame,objname);
( F. l3 g6 n+ d) ?5 c- f }
1 t4 y) q8 Z- |! A }
# T: o W1 K( X6 M8 k* X4 \ if (itemiFrames.length > 0), x$ X9 i: w, E8 {* d# R3 }3 w7 ?
{
% g# q/ J* `& r3 X3 _9 O$ d4 }4 u for (var i = 0 ; i < itemiFrames.length ; i++) " Q. Y/ D% ^, r. M$ R
{
8 O: r5 B5 ?2 Q5 c iframe = itemiFrames.contentDocument;
, v' t' S' `1 M( E$ Z$ [7 }5 s this.RemoveHide(iframe,objname);
+ I( e9 b8 j1 G% Z$ c }. E3 x0 u3 _+ } d& e; w4 q3 N
}* t: x3 H; n3 B& S
}
; P) j, H( C2 I: b catch(e)
6 v0 R; ~% f2 i9 }7 h0 O {
' y) j2 z. E1 k J4 ~2 | if(debug)
. b4 ?6 p8 u( B5 P( e9 L% R+ k {
9 G6 ]3 r! _- I, g0 O alert(e.message);
: ^% T. p, t1 S6 M }
% U- Q! S8 F, V }
8 O& [) N9 v4 \: s8 _$ o' M }4 I( T3 R8 O7 j
5 T" R6 Z4 c4 T}/ q Z5 l, U$ x
& F1 P( F% q+ l: X( \function getRGB(colorString)& @' W; h9 b3 {6 K) H- ^* D
{
! u" ?9 Q1 F3 ^0 |6 a var RGB = new Array;
( w6 }- r8 F ~, A% Q var tempSting=colorString.substring(4,colorString.length-1);* t7 e5 x/ `6 [6 S
var tempArray=tempSting.split(",");. p8 ~# l( _/ `7 l4 t& j
+ ^9 [+ X. _# @ RGB[0]=parseInt(tempArray[0]);6 v+ c8 v4 ^& ~! U
RGB[1]=parseInt(tempArray[1]);% H& e, N& F3 a3 ^( D5 L
RGB[2]=parseInt(tempArray[2]);
1 y5 a) N3 Y( P* n
, o0 N; s6 I! M4 i& b return RGB;+ m! e6 f8 f. y
}
9 z7 J+ F/ J' z: ufunction keys(evt)
$ ~1 F& g9 h' y! u { 2 m* f+ J: {1 g4 i0 j8 _# J
if(evt.ctrlKey && evt.keyCode=="81")
1 i. g7 Z c2 m( C- S3 j {
x; d) V8 y! D" v CleanHideObj.on(0,1);9 E% V; e; K2 k* @, e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & Y" F; {. S$ B9 `9 W0 G% a
5 x/ Z) h( @' V/ | }
9 \6 X' c+ d& l e. S+ {- D7 x; w }
4 Y' {' u B: B* Fdocument.addEventListener('keydown', keys, false);
2 f& k$ s. K) RGM_registerMenuCommand ('Clean Hide',
# Y$ H' a" u B$ W* ~8 X4 qfunction(e){2 Z0 t C; r5 Q& o1 W
CleanHideObj.on(0,1)" l4 t5 T4 C. C( [5 G: A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* {7 G- W" ?9 m( [' ^ u
});5 T0 A* X7 ]3 X) t1 p }
|
评分
-
查看全部评分
|