|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ a3 i' H9 f2 \8 e; G9 D/ |
0 q" D: ?: Y$ w7 L4 a2 g火狐插件,用猴子
" V* ]: y0 j& N5 b* y5 T" w* P0 Y V0 m/ h, C9 e/ f% ?
var debug=false;
: J) b7 o4 Q! a4 R) Zvar CleanHideObj=new CleanHideClass();
5 u. z1 d3 X6 f* R2 q4 {
+ }& o0 o/ l1 \$ ~/ f5 Jfunction CleanHideClass() ( P8 w7 I. q9 c) k/ q) F* S+ _
{ : d3 U+ e; _9 x7 a0 B7 @! |% B! _
4 W3 N% X$ K* H4 R0 P8 w this.on=function(id,bMZ)
! N% r( m# P2 _9 A0 e4 k( i {
: h/ r& z5 A% d, U. E
6 i& E+ L# x1 Y! t6 @ if(id == 0) _4 k- X' ?: c9 ?! x8 o0 ~3 @
{
+ H1 |6 M! S6 f var page=/* document.getElementById("content").contentDocument */document; s+ C) ~5 y, L# s* t
this.RemoveHide(page,"span");
8 u, K1 X: g2 X. j this.RemoveHide(page,"font");. [& B; R: c* b& S( f8 U
this.RemoveHide(page,"div");
# V' h0 c1 K; o, X+ Y this.RemoveHide(page,"p");9 Z! c" _! v) [9 n1 l$ ?) Z
% w- J% c! l7 m, p' ]' ` }
- [) X1 _/ ]6 f! @5 c& [
# h* w9 U% ^* j2 U2 u$ T2 O* b: T }/ X$ Y# R. w# S7 c3 s, b( w9 d
this.getobjstyle=function(node,prop) {" B; B4 l* ]( ^$ @9 O( |1 j
{
" P% O8 S. L$ t2 _ try* a# y# |- b5 H0 U8 H2 t7 ]3 b
{
7 u! M( q; A6 u# T; } return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* x" s" v" Z: H, {% L: D# A }" i% }( e+ ?. [+ J/ x
catch(e)0 @9 n8 ~8 ^* {
{) S1 e \- r. B! i# Y w
if(debug)# H2 M8 b0 h$ d+ t* Y
{
' L, E4 a1 \. p; {8 x alert(e.message);
+ T+ Y- t; Z- Q1 ?0 j }
9 m) [5 d- J' U8 Q - k" g4 c+ |0 b0 C* c& ^2 D m6 }* r
return "200";- L$ k$ {8 _ @( \8 I
}3 j0 q6 I4 l. e1 i8 T) x' q
}
* ]1 Y& {, Q v" U
8 \1 w3 D9 F9 l# J this.RemoveHide=function(page,objname)
1 R j# f7 T' n& F$ Q" u2 k; ] {
* `; m0 @5 g! [: q! K4 u try9 v: R4 p7 l4 q1 b
{+ v* n9 x2 ~2 `& ]" g& [
var minValue=15;- l6 B0 x) p% V) H- J) e O. S3 ~
var objs=page.getElementsByTagName(objname); " j, u( M# O% @5 b Z
6 \4 `2 D7 M# I6 e8 A* U0 }
if(objs.length == 0)
1 M8 h& I/ x, U8 F) S {
0 g1 h* p" ~* o( i) |) s5 ~3 h e if(debug)
6 F1 V: D, l% G {
( B5 y: ~+ @ Z5 @, {! J alert("no object found!:"+objname);
# f8 W# z' q4 u6 P }
# _$ r: `; Z& m* e8 [7 m" K }
. X- n9 Z6 e# H( R else
+ w1 D2 U. A5 z {7 Q6 h) T9 T. O( p9 M. E
: T/ J% |( j$ |: l) [
for(var i=objs.length-1;i>=0;i--)
4 T: T, k6 ^- n: M4 m {" c$ ?# C2 B: y
var node=objs.item(i); + R2 M) P$ V. R7 G* ]4 V) `
; i$ P6 [$ q- B! W6 |6 l
& a; p% ^: I }! T- U( v- K5 ` if(this.getobjstyle(node,"display") == "none" ||- e( p1 Q( L7 M. ~2 `
this.getobjstyle(node,"visibility") =="hidden" ||$ H2 M$ {1 ^3 A/ I. m c
parseInt(this.getobjstyle(node,"font-size")) == 0) , p; ~# s! R) o- V1 {7 O5 H
{! N5 |; W6 c3 N9 G0 [
if(debug)
. Z) \" Q9 r* D& Y$ g5 c {0 v6 w, ?; ]2 J/ k1 }; c, v
alert("remove invisiable!");* s* L' B; a. r* F4 ?* m
}
) [0 \4 i R( r node.parentNode.removeChild(node);
, D% o3 B: X+ w+ k
8 T3 I7 h: }" G$ [ }
! _+ O( ?! y D else
* ?8 g& E; X" u5 n4 L" u {
) E; c0 n" N, D5 T0 L) t" v1 R. @( b& Z if(node.parentNode) * [3 G% I" f+ q z" v
{
- J! G. A% l5 Y% ~' e+ d var orgNode=node;4 [" V4 t2 N0 L7 f! [* T4 X
var orgColor=this.getobjstyle(orgNode,"color")) ~% f+ D" u- \
var orgRGB=getRGB(orgColor);
* H8 b. ], U" M5 g 3 n( G0 \1 e6 s9 h* c
var parentNode=node.parentNode0 A3 M$ g; h6 ]6 C
var parentBgColor=this.getobjstyle(parentNode,"background-color");- O% a* I' Y. u* I* o
- L' D$ q8 O9 y% b
var isLast=false;) W; H* Y0 B' r- ^% W
' \* |' P9 w% R/ Y
while(parentBgColor == "transparent") - k0 i3 N! `7 ~% ?# ?9 z, z; [
{
: d; p% H$ q4 V- o 7 Z- N+ k! u- `7 L7 ?* I
6 h, p& ?. ` F6 w
if(parentNode.parentNode == null)' L3 u9 I6 J& b$ ~
{: I! R% t$ Q) x3 e/ Z0 Z) h
isLast=true;
; p: w+ m* B7 ^' ^! U0 x break;
" R5 x. @" l: j }
7 S0 Q; n; Z$ R$ i" _0 U: ` parentNode=parentNode.parentNode;! \( c6 F8 S: @+ M5 `) S+ @7 s
parentBgColor=this.getobjstyle(parentNode,"background-color");
, u( F- S3 c4 x0 D3 P6 q) W# u4 \6 N m/ T
if(parentBgColor != "transparent") $ d1 G' H" Z' X2 o/ g- ~2 B
{6 i: Z5 ~1 @6 L" M \
break;: K8 F+ Q2 p5 ^9 y
}
5 G% t$ `, j0 T$ R }
8 |! W. i4 x F if(isLast)
2 s9 N: s* ^4 z# |! [ {# L. m* u, @9 a/ Z
if(debug)
8 e: ?" f: P! j) h! @$ C {# }" R C+ I" q1 C
alert("last!!");
4 ~4 b, F4 F" c" `$ x }
! [2 _; i' X8 s if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* L7 e7 u8 b: E6 F0 Y' p z% k {6 {8 [0 `* h- `; A# Y$ t
orgNode.parentNode.removeChild(orgNode);
! O% a# V, z. _+ z4 C# f }+ @: X! o. T) U/ P$ j/ ~
}
# t Z3 w' R/ S, s else: V" O2 r7 s; j
{' u; m1 r3 B) a) K/ B u
if(debug)
' G. o4 P: [" H( o" x1 Z {1 ]5 l5 O% e, p* s) O
alert("compare color and parent bgcolor!");
- \, V! w& m, Z* }, e7 `! y0 G+ o }
( U) \2 o. U! S# J& T parentBgRGB=getRGB(parentBgColor);+ C4 D- `, o: y1 ^: Q! [/ j6 P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' j! {8 w- c; s8 J+ n4 u
{
9 y, Z' y! ^5 b orgNode.parentNode.removeChild(orgNode); M& n4 d$ U7 u/ B( I
}
' `, y* Y8 V0 d0 a9 J' w) _ }
5 u+ X2 H1 R/ @8 T& U }
5 R) D. J/ B4 I2 B9 k3 y$ b }
; w8 \7 U+ }; D2 ` d- Y! i }2 A6 m" }! d! R6 U) X+ z
}1 x6 t H, z6 b& e& v
& b" s( \7 Z3 I1 ]8 i' F4 ]0 p; K4 V
]0 Z7 c3 \1 F: r2 M T5 q var itemFrames = page.getElementsByTagName("frame");, t4 J8 t1 B3 B
var itemiFrames = page.getElementsByTagName("iframe");- T! z$ i$ J7 C( t- Q/ e) M: J7 u1 I
; G8 n4 T( v- u' Q& _
var frame, iframe;. ?& S8 v* P6 U: H& }7 X7 h( Y) N
if (itemFrames.length > 0)
. H# P4 O& q/ H! `, B {
* J8 _: i9 \- R* K& w; q% F for (var i = 0 ; i< itemFrames.length ; i++) / M- f4 b" H7 ^% A) U
{
* s4 X# w) c4 d9 n: K frame = itemFrames.contentDocument;
) g- O1 L& Q& d7 f this.RemoveHide(frame,objname);
( K. U' I- d1 k0 L }& S; q" Q+ ~5 p4 B0 x% z
}" l) m5 F0 q! z; S
if (itemiFrames.length > 0)/ ~$ b1 j+ O9 r# M: `; D: w1 N
{
* M6 n( T; c3 J/ Q6 q for (var i = 0 ; i < itemiFrames.length ; i++)
; g! D: ]6 r. G% S3 q$ J) T {
; m6 e E( d. a iframe = itemiFrames.contentDocument;3 d5 M/ q& p1 b$ N& x4 J- n `2 S
this.RemoveHide(iframe,objname);
6 M& H0 V: \, H9 R/ ^ }$ _% c( x5 `* z2 t- d
}0 ~) N' ]; `( ]- {1 j
}
' W: W, P3 k) { catch(e)
! b+ S& M D, Y8 d {" t5 U& E- [2 k) A: n: V$ j( N
if(debug)6 B* e$ z E2 Q: w( v" r- o
{
8 K9 b/ o3 z( i$ H' s G& P alert(e.message);
+ Y7 m' y2 _% C; @ }* [9 v5 C8 z" Q7 ~9 D% m
}" J8 G6 R( |' D/ O7 j* U' `
}
L/ F: q4 ?* O3 f4 H + K& q- y; n4 W2 h
}! V, X+ V4 G* h E
9 Q+ S" @( i; w, T7 V9 Ifunction getRGB(colorString)+ `+ r9 F% S2 H
{+ V5 S9 ^. n! q$ d- B1 K( E
var RGB = new Array;
+ ]+ Q1 t b) ` var tempSting=colorString.substring(4,colorString.length-1);
* p# j) `! @( Q! m# y b var tempArray=tempSting.split(",");4 L( H/ s7 {6 Z
) `; K1 D0 Q5 b, A
RGB[0]=parseInt(tempArray[0]);
# O/ i% k, I6 q. {2 o( ]5 X, W RGB[1]=parseInt(tempArray[1]);
+ ~5 i# g, J3 X3 B RGB[2]=parseInt(tempArray[2]);6 @2 W6 [! F' R! t% \
4 e o- y) |' D! ~7 W6 N
return RGB;- t$ [( r- c, z* K
}
# ]- a2 \; B3 f) Hfunction keys(evt)
$ n- w s! r* v4 r {
6 V+ ]5 O* f) P* D if(evt.ctrlKey && evt.keyCode=="81")
" _2 w) U1 D v1 o) c+ A {
0 @9 D+ c8 {$ v% O" G, l CleanHideObj.on(0,1);9 `+ g7 T) c( {0 }5 z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 G' K: o# R' }& k) d
" E5 u0 y* P2 |& S6 A+ I5 J } ; v) w8 q8 p1 a( D' C! u
}
8 H/ {* z$ ~2 k6 ~0 v) F6 pdocument.addEventListener('keydown', keys, false);
4 @$ ]9 ~+ L, S u% B' jGM_registerMenuCommand ('Clean Hide',
8 `9 t( t. w& n2 u1 W& h; ufunction(e){4 n6 o! j. Y4 i" U: l) q
CleanHideObj.on(0,1)
# p3 b8 V& z3 q! Ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# S/ d/ [( z4 d$ _});
( S# r0 g0 L5 |0 U' o |
评分
-
查看全部评分
|