|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , L; t9 d, a" s% S9 P3 R
7 o$ G) |# J9 a- m. g# u" R火狐插件,用猴子 D' ^& B+ S/ P1 o# N
9 x9 J6 U* S6 y6 S/ ^
var debug=false; 0 q: U0 |0 s4 b0 \4 Q4 O
var CleanHideObj=new CleanHideClass();
- d6 B' Q" V/ }+ ]: |5 x! X5 b+ U, c7 X1 v
function CleanHideClass() 4 i- V) @& i3 B ?3 H
{
8 k- ~$ t" }) k9 k5 [ ! T+ p/ b+ {; \% f$ n; F2 d
this.on=function(id,bMZ)
. L' [4 N3 t4 F+ h2 e' O' u {
; A' b& E1 o( y% J: F4 \
4 Z. W: y8 |; G, R2 ? if(id == 0)- Q) x( w5 U ^. L4 j+ {2 M" R) m
{
A( q" p, _+ F& W( N var page=/* document.getElementById("content").contentDocument */document;
! m1 I0 @/ m9 Y5 P/ U" H4 N this.RemoveHide(page,"span");) a; ~ A! \/ E6 k$ l& ~/ M
this.RemoveHide(page,"font");. }: ?, F: D, s$ G3 e
this.RemoveHide(page,"div");
- b0 S( F- h; M. r& I this.RemoveHide(page,"p");1 C: ?* E3 a- J9 a2 [; ?( Q
( ~: V- E2 l2 g( y) G& ^" j }
1 }4 k9 l/ x1 o# {8 d0 S. [
6 y+ V6 Z5 M6 T9 B; f% O4 T }+ k3 L! H) \7 i0 \! R0 a) o1 w* W
this.getobjstyle=function(node,prop)
% w' v2 ^2 O* w, ~! B" | {
- l$ U1 L! l6 H: n$ P; _ try
4 C# C& p7 ^0 a. C. b W {
" p9 ^* X( b) W# s$ P- d return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 m& M' T" f* K6 J* I. H
}
: L. Z$ O9 ?% i catch(e)
( q* A. S6 X- Q3 G% p% n {& ]$ O1 z6 Z7 i$ n8 ^
if(debug)
1 {8 i v0 w( ^+ S, ]' C {
0 u! U3 y1 m. Q alert(e.message);- K. v: _9 ~& Z! n
}! m4 U9 o% O' a4 i4 |: a. S3 ~* ~
, |- O! m& ]/ `- {
return "200";. v! ^$ h- \- H- m2 Y
}8 J) i. Y% y5 O* J2 c0 A! t
}6 c2 L( g4 U: F7 _, F0 Y
* T/ R. `7 L I4 w3 ]
this.RemoveHide=function(page,objname)1 h3 ^& v5 K' s9 n
{
( \; L, d' j# v) v& R) f0 I. ` try
8 l( o( n: a i7 A/ Z {
; w8 Z! p3 }! Y var minValue=15;5 A7 _; u' {9 R" e
var objs=page.getElementsByTagName(objname);
/ x, s( g) R9 @5 `6 j
; Q5 I8 q/ O0 U* L1 V: [2 p if(objs.length == 0)
, f3 T* Y" w- J/ U1 o {& G) Q4 |& Y3 `) g
if(debug) D" s) W' ]8 |2 W. R# x. a, @' B
{
: [" m& n; ^" h4 C# Y alert("no object found!:"+objname);
5 A6 O$ _8 r( G }# M# i6 E# H! k# y. q) u) i) R- u4 j
}
4 R I) K9 M, }0 W else7 ]( k: H7 r% w _0 D
{
9 ^2 f$ n2 @9 [/ x7 A" N ( n! d; f, @+ m6 a4 X9 k: N
for(var i=objs.length-1;i>=0;i--) 3 R% C) X7 s# I) K' [) o
{% D+ i+ S$ s( c3 i3 D( V
var node=objs.item(i); ! L% Z$ u% Q1 ], d
+ u& ]- D7 [8 W8 F) l/ o8 d
' J) M" |3 n% w. V1 s+ x if(this.getobjstyle(node,"display") == "none" ||$ S! H/ B" J6 `0 L
this.getobjstyle(node,"visibility") =="hidden" ||
: R' c R- }# W# K) l" I parseInt(this.getobjstyle(node,"font-size")) == 0)
% d m5 x: U. B+ n& c7 b {( w, |- a, f3 N. n- ?
if(debug) e/ K5 c$ |; }" O
{
- a! w# S' b& b" d# h( m alert("remove invisiable!");, k; m% D7 R" f8 `4 Z+ k0 o9 u5 X! _' A
}, ]& K8 o( l- C+ ~% j1 Q
node.parentNode.removeChild(node);( f% G% |$ W0 [8 p. e) {8 b) k8 ?
" ^6 a; h* f) f: y0 K/ x* O2 S# [ }) q) s3 D6 b2 _2 d" ^
else
& V5 o# r% Z& s7 R( H5 _ {
, [9 j% D1 ~# ^" i if(node.parentNode)
) g/ Q1 Y* f, A {0 ]" X7 x; H' |0 G& q
var orgNode=node;
+ A! [' ?0 ]6 W2 `. \$ |7 j var orgColor=this.getobjstyle(orgNode,"color")+ K& m6 `. W9 z3 E0 B5 k: O
var orgRGB=getRGB(orgColor);
0 L5 _1 r1 l8 e) t# W4 V0 } ; K; e+ t5 X2 E! q) }
var parentNode=node.parentNode0 H4 E; L! w" P6 Z8 H
var parentBgColor=this.getobjstyle(parentNode,"background-color");, ?! z+ i! Q" h
D8 {) ~, R3 {% Z, u* R
var isLast=false;' d. D5 s2 B% @1 `" R; Q7 I1 t6 w' \
1 D9 A, p% z( C while(parentBgColor == "transparent")
6 ~/ u( r& k$ [) o" r R {
+ \% _% V/ ]7 Q+ V ( P: H% g3 _" ^4 A# q
" R l! {% h% T+ n
if(parentNode.parentNode == null)& ^0 M' o! b7 z: ?5 n1 Y' C$ x; e
{+ ]9 C/ `8 J/ w
isLast=true;' V0 c8 d0 Y; K4 e. J' A7 `2 B9 z# e
break;3 c* ^% \ u" {2 d1 ~
}
8 [0 f$ T: j! I4 `5 L1 v0 e parentNode=parentNode.parentNode;% s7 n. A2 e6 q3 T- C
parentBgColor=this.getobjstyle(parentNode,"background-color");
1 O6 F% I' c% v2 N, a
1 ~0 }0 ~ @, G5 }: y" G if(parentBgColor != "transparent")
$ [' {9 M( {6 O' i8 U( {/ z( p0 D {4 W6 B O. N1 @4 h
break;* w# ~# Y' t/ }" w
}
0 i$ w# C7 a7 ^0 m }2 w+ |0 }! @/ k2 v3 a ?
if(isLast) " p+ \2 t% f2 J9 R
{. U( T4 V0 Z% C: ], W$ n
if(debug)* f2 r3 R. M: a; @
{- Q( l- X0 j/ R9 Q: g* q+ L6 k
alert("last!!");+ \0 k, l8 P0 ?/ Q- k
}
7 L0 K) `8 H( U$ x6 h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ V& Z6 Y: q1 X
{/ _3 }- A: ]& M
orgNode.parentNode.removeChild(orgNode); : r; @* u" T# k9 f# R6 `/ P
}( Q% A2 C6 ?- r' G/ h
}. `/ m& g7 H% J- `4 w% U( I
else4 J7 s; Y$ B2 E1 m
{
: p6 z3 e) S# d, p9 ? if(debug)$ n( H) E$ f* o( g- n2 k
{
( d* s& C2 ]$ m L alert("compare color and parent bgcolor!");+ u2 r- r& ?$ ~3 I5 I% `1 D' q
}
1 y; s) S- {* u. b [; J) { parentBgRGB=getRGB(parentBgColor);
" s! g. w& C" c, [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% p3 V2 S9 W$ O0 ?' \" n3 i
{' F" h% y. S( R4 T+ C' g# {
orgNode.parentNode.removeChild(orgNode); 7 e3 v1 M. V" H( `, G( h: P& d
}& \# w: J* \1 H% l: z9 B
}: X& _ p. L: r) l6 l
}: X! I% F/ g- ~2 P, H& b; C
}
/ R9 e/ {$ h* D4 j8 H2 n }4 T$ l4 V1 [9 d
}
, ?" e! }! a9 |& g( ]4 k7 L* {) T7 Z
3 v: b" x8 y, m, V% d/ a6 p# s ( k/ k# @9 S. L7 o% [, q
var itemFrames = page.getElementsByTagName("frame");
8 {4 l! I+ ?! ~( _6 L7 B1 c+ F var itemiFrames = page.getElementsByTagName("iframe");7 }3 f% N3 w) M$ w, U5 _( s
& ~8 a7 g9 Z) e
var frame, iframe;
, d2 i' Q8 a9 f5 ?7 S if (itemFrames.length > 0)
t' Z4 Q2 d4 ]) I. w. W' J6 ^% g {
. h. G1 x4 d9 L6 q) v! {) \: I for (var i = 0 ; i< itemFrames.length ; i++)
/ }' h2 _# E d+ ]6 b I. W* |9 D4 C, Z {! z# ] E8 k8 t, K
frame = itemFrames.contentDocument;
, ?' x8 A+ r' S, }( U+ a- E2 a4 }' x this.RemoveHide(frame,objname);
1 ^' c; Q7 ~! h }
/ H7 K+ \7 p: z& A3 _ } x$ ~7 K# k1 f
if (itemiFrames.length > 0)
) ~. @8 G8 y: }* ~ {
- Q4 {& F* Q, E: ~! \ for (var i = 0 ; i < itemiFrames.length ; i++) 0 W# X9 V( P0 T' {% y
{; W0 U0 t' Y" K; }9 O6 \
iframe = itemiFrames.contentDocument;- D% A( X3 a W
this.RemoveHide(iframe,objname); ! h, O- Z7 M! }
}
& F w1 Q5 F6 Z* l2 J3 u( } }
1 p* x) v6 I0 m( E }
7 Q) v7 X- M1 W) ~ catch(e)
; _# ?3 f- J/ T/ Q y' u& K" J {# B, q! \2 a* Z5 {& g+ Y- U2 i4 |" |1 R
if(debug)+ v. w% L# i% @9 G W9 f
{. q! O4 H1 Z, Y4 i: V* q
alert(e.message);
4 ?. E$ S- {4 t6 C) {- T' y }
, F4 F, }! V) @ t) A5 \5 Y }4 `8 F5 k+ P8 b7 @+ Z
}0 h, ]# ~0 p7 r, Q4 e
; M% ^) z: s8 y$ p}
$ R# h3 c& }; D: D/ X9 a6 \
9 C F3 e8 n+ I* e# @: ~function getRGB(colorString)& m1 w6 x/ g" q; }* L ^" I! }
{
6 H- g$ L" h: b R/ V var RGB = new Array;
! U9 t) H/ I* a6 M var tempSting=colorString.substring(4,colorString.length-1);
3 @2 w& P& s: L$ ~) ?# ? var tempArray=tempSting.split(",");
; v. J& h: N( i ?7 y/ b& c: i
$ T7 f/ B" a9 ~ RGB[0]=parseInt(tempArray[0]);
0 D9 h3 x5 [! u. g8 x. x RGB[1]=parseInt(tempArray[1]);& I4 ]; z$ e# [$ ]
RGB[2]=parseInt(tempArray[2]);! o9 N1 V! n8 q3 R
& }% J6 H5 p7 T2 E return RGB;4 y1 X6 Z0 e; d
}" L) u0 l- r7 o4 [' `
function keys(evt) 5 s" F5 Q1 e. ]" P7 Y: u; N
{
$ t% T7 C* N( I& X5 f if(evt.ctrlKey && evt.keyCode=="81")
+ j1 q% i3 R! A! @. N+ E* I { 2 F5 k3 n; _/ t P
CleanHideObj.on(0,1);
0 P; g5 [) b. [1 g alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 Y/ w' O+ X4 D2 B3 p( Y
8 @, u7 [# i X* G6 g5 ? }
0 Z2 o0 B$ o" t" p: w. \( { }
/ O1 ^ o8 B& d7 x9 j6 Ydocument.addEventListener('keydown', keys, false);
7 H+ W( G4 s, pGM_registerMenuCommand ('Clean Hide',
1 q2 [# y4 G5 Y3 w' tfunction(e){% T0 x! e) j) ~; o/ }5 v( n
CleanHideObj.on(0,1)
& z" W* t9 H# ?6 _5 ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 i$ E. ~* |; [+ o- h# s
});
' C5 |$ y( O& p' A |
评分
-
查看全部评分
|