|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 [5 e% `3 [$ C0 j
8 [$ v# M" y* s/ U2 I火狐插件,用猴子
5 J! P9 g' u' a6 g- R! C
8 {7 ^/ r6 X; q: |var debug=false;
7 H; l p) U+ H) ]$ B6 Pvar CleanHideObj=new CleanHideClass();& ?4 p0 d! X8 R5 g" t/ n2 I
! l; f. }/ x& Jfunction CleanHideClass()
8 Y. h; w0 \) F# h H7 C{
, M* j' o: |0 |# g/ }& E
: _! v, O- y d8 S this.on=function(id,bMZ)
: `+ \9 z) Z# v/ ^# @- Z- k0 l {
q4 t P( d7 d3 B, E 7 A+ Q9 R, n! o/ ~
if(id == 0); _& M0 `* M( B8 k
{) [1 Q7 H7 X8 u% F& m2 u. d
var page=/* document.getElementById("content").contentDocument */document;
0 D6 {6 K' i0 N this.RemoveHide(page,"span");
( z& S% Q% y& F' V- Y this.RemoveHide(page,"font");
$ h( \5 o$ L6 o9 @3 o# Z this.RemoveHide(page,"div");7 x# }2 [: J/ x- [* T6 u
this.RemoveHide(page,"p");
6 j( I* l0 B0 h* h7 k
& `# ?# l1 G/ _6 i% v. W) E6 M' U7 z }
: A5 A7 w5 y4 o) }3 q, i6 h1 S) B . ^0 R0 l3 L0 {' o; P7 g2 B
}! @, f% J; P! _7 L
this.getobjstyle=function(node,prop)
; V& C5 G0 ~' \. ^. \- h {' J/ a& R8 p d9 w$ Z/ ^3 r
try
* ?1 i( U% x# R {) G4 H8 p$ a, x6 V
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" T/ R) K: D4 S1 G }
, a& D9 l6 u$ Z! I catch(e), C0 D$ K3 {* }7 Y0 `
{9 i- ^# e- Q8 I9 ]
if(debug)- @: `: m# N: `" y, \) s6 u, M: j
{
# z1 O& h1 s4 G/ p( Q. R& q# ^ alert(e.message);
" y6 b! @/ c4 G; Q7 | }7 v& U- |7 m9 o- a
, V) W4 _9 D$ m7 O$ m7 u8 j return "200";
8 h+ Q: H! P% O7 O- c6 ` f# K }. b; j& y8 [; X& b; R9 A1 A
}
2 @& l |" U/ ~1 j# p , P. `0 L9 K: P
this.RemoveHide=function(page,objname)% H8 v; l1 O. s& A! |
{
: I3 s4 `1 J' m, t try
' z! Q* F: F9 t% f {
% s3 x2 x: l5 i5 |3 v var minValue=15;
- m: K/ D; V2 h* E) ?# C var objs=page.getElementsByTagName(objname);
/ O6 K, Y1 h4 H6 Y5 n6 \2 e# w
7 V/ p# T4 M& ~0 ~6 m2 x$ n* q if(objs.length == 0)
% f& ~, v# _- ^ {
8 W0 H# T8 y( L if(debug)
( M2 j; F( A* o {/ g h' @+ g. C' k! c t
alert("no object found!:"+objname);! u5 t" |; f$ Y2 M8 N& S
}6 m: v2 E' y" A( y; R, b; S- r
}7 w) O! P" P4 }/ b8 F
else
; t0 S7 G, m, P2 V {
: D: j: N6 E$ m0 J' l: z1 |
; J8 |8 b0 b& B for(var i=objs.length-1;i>=0;i--)
, q7 a4 ~9 M" X, M$ v {
0 `6 c3 X4 v! n' A* }4 u var node=objs.item(i);
+ y# @+ J) r8 A; t8 J4 F( n" W
5 B. I3 H0 S3 T' n7 a . C4 }1 @3 f: g7 M! C8 ^! h$ t( k. ~
if(this.getobjstyle(node,"display") == "none" ||
, y" T; `8 c y f/ `4 \1 m this.getobjstyle(node,"visibility") =="hidden" ||
, L% f& N. |8 O, e5 X parseInt(this.getobjstyle(node,"font-size")) == 0)
6 J& L) V. ]+ N) k; w {+ C; I9 G( w+ F4 r! z& ?
if(debug) D$ t" J) C2 J& m& n! ?
{" m+ {$ k/ X/ d* S5 q
alert("remove invisiable!");" r0 \9 x5 |$ q8 j! o' [
}, \7 N0 L3 J5 d6 m+ I/ ^+ p
node.parentNode.removeChild(node);
! U& g2 G2 M8 u( O9 P6 D" } 5 G% \6 u& ?9 X$ i$ u4 _
}9 x- [9 d8 d% ~4 u- P
else
[$ }/ T6 u( C6 W8 y {
3 E4 f+ p6 C7 J if(node.parentNode) S+ I. \, h1 k2 H
{% G5 T" G9 d8 Y6 `: D
var orgNode=node;0 ?0 p$ O& S' V8 y9 d
var orgColor=this.getobjstyle(orgNode,"color")
, r( N2 P7 F3 t var orgRGB=getRGB(orgColor);
: W" N2 W' W4 ~* x& r! U " d- k. n" B: E* d, n
var parentNode=node.parentNode
* T' J+ \2 h0 d# o. n! i var parentBgColor=this.getobjstyle(parentNode,"background-color");
; a+ w8 P, i V+ d0 D( ]: v7 t ( ~1 i9 j5 \ B" S$ ?
var isLast=false;
1 u. z" X# _( w; X, c* p
$ C R/ G0 }9 ]3 H+ r& c while(parentBgColor == "transparent")
4 \$ q3 Q0 {) N( G$ ?' x' ^ {0 h8 v/ r% F! J* J5 R- E! Y
2 h5 j0 g* g. P% B* ~9 c3 O, S7 s. ]; a
" n: E& g7 o- r$ d
if(parentNode.parentNode == null)1 |! V! k' k0 C
{
( s# n: J) i3 i isLast=true;: n+ S6 }' Y% F
break;4 ] B3 J: {: v) R0 |
}
l! _: X- m; r- g" k* P2 y7 c1 f parentNode=parentNode.parentNode;
) _% k( h; f: D: U parentBgColor=this.getobjstyle(parentNode,"background-color");3 _; T8 |2 _+ ], b6 @# R
7 } k& \$ u, k/ @$ s6 t3 x
if(parentBgColor != "transparent")
3 Q4 ^* Q0 R! A3 }2 j8 Y0 Y {2 Q5 i" L! l3 E& Z; H$ m( L
break;
7 o9 v4 G( C' H o7 a }( ~( b% m) W" _. Y+ M
}+ n* X* U' e$ r! `$ ?7 `0 k
if(isLast) 3 m6 m$ G% E8 j$ M
{
2 ]$ c) p! ^$ o" [) I4 G if(debug)
$ D$ l! z% p: @' X7 b7 C, W- B2 v {/ ]1 P( d0 U p" b% o
alert("last!!");! a7 S0 o4 v* U2 [! o
}
" b( ~, q$ J' S4 z! ~ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 @) m+ r/ t/ N5 s {; Y+ @# r# {3 J# v4 N# J
orgNode.parentNode.removeChild(orgNode);
% R' w j0 ]( D* `+ X% q }
+ _. I; ?0 y+ Y' Q; [ }
1 x% d9 s$ h3 u. A: i) e! Y else7 _. ^; j' v8 x: Y
{( P! k% I p# k% U
if(debug)8 G8 ~8 F5 N+ M$ q, u4 k
{
& W' [1 |3 \% G( R* m alert("compare color and parent bgcolor!");
7 G$ b" B8 |5 k% m }
) t3 o+ V2 B/ S6 q parentBgRGB=getRGB(parentBgColor);8 d8 s# v( A9 Y1 Z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 g2 V% O7 U6 @. _0 h, i3 @6 [9 F& z: x {
5 _, J* M5 v" c! N2 s6 s orgNode.parentNode.removeChild(orgNode);
8 f" \' H$ N$ F }7 Q, P* K! D1 h! |5 ^. ^6 |
}. E' _; ~ ]9 {) Z& S
}- W9 r6 H& e) o9 h' W7 G' n
}
! G3 q3 E8 T: y. b7 m; w }# ?/ L& N; N8 R! C2 `, ?
}
# Q% i- e F- b3 M& Q2 Q . {8 i/ g! j( b& {0 [ w
( j! m) O: K- Q( t var itemFrames = page.getElementsByTagName("frame");
7 i" J" q3 n2 V' F var itemiFrames = page.getElementsByTagName("iframe");" Z$ l6 b# z: z3 U) ?
. E9 W0 P) y0 h3 X9 T
var frame, iframe;
* o( l, {% P5 c9 ? if (itemFrames.length > 0)
3 G5 C& w: T6 t- Z% J {
& S- J( ` t! r3 `# B4 A) N9 S e, D for (var i = 0 ; i< itemFrames.length ; i++) 0 Q i; i% R6 ^5 O; G+ h" T" w
{
# n" J) ^9 e. ?$ u- ^( @ frame = itemFrames.contentDocument;4 ?3 a6 `( h+ E
this.RemoveHide(frame,objname);
! m' @1 ?9 I* c0 X/ P: F }
# k( N: o e O4 _ }, s5 a" m9 x- c# h; [6 G% q
if (itemiFrames.length > 0)0 a$ l! J- Z6 {, Q) Q7 u1 i% O
{$ V; f1 i' j5 ^( r6 _
for (var i = 0 ; i < itemiFrames.length ; i++)
$ p$ j! v- d% P4 p1 d {$ W. f# y( O$ j
iframe = itemiFrames.contentDocument;: c: p5 D ^2 q7 D! @( \
this.RemoveHide(iframe,objname);
8 |% T5 J# E+ g5 u0 t, C1 u; E8 l } {. \% N3 K$ _# A( w4 m {" u" I
}
$ s1 T0 A$ u, r* Q0 m0 P5 K2 x }
+ k0 u: c I) d" `1 T& \! \ catch(e)
& u1 R7 A" w+ R2 j! Q6 j, B u {
9 O V! s1 ^. ?6 u if(debug)- Z; _% e2 b! j1 F8 R) g; _
{
" E8 v' R5 C! ?+ C$ f% l alert(e.message);& J, ?4 R$ p+ Z- N/ E( z; W* U7 \
}
: y2 _% | u- v n( w0 M9 r }! ^3 B, F2 m+ o0 w3 g3 }
}. D: [' o( [7 |, [
" X% m: l* `+ b L}! U" C% I/ M+ S$ p M% e1 H
) N% j4 u/ b# `# q- Kfunction getRGB(colorString)
% g& v3 b5 m" e0 y& L{( A1 n9 m7 }% Y! X; G4 v# m7 b3 U
var RGB = new Array;
4 w4 [ }% x ? var tempSting=colorString.substring(4,colorString.length-1);' e9 `4 P u# ]& f
var tempArray=tempSting.split(",");
8 h/ d5 |# D8 A6 D( s0 _
* o; E ^# O3 o% w$ B0 F RGB[0]=parseInt(tempArray[0]);
5 p. k+ A# G, I, K6 A1 T RGB[1]=parseInt(tempArray[1]);
4 ~% Y. S S- K RGB[2]=parseInt(tempArray[2]);
|5 V% ~8 b5 D7 o+ P. A( v * ~( X! \2 E% z
return RGB;* y7 B! m+ z( a7 r& g. l1 a* c
}
/ i( S; X( y" T: a8 w# U4 gfunction keys(evt) , W. {8 Z& O, N: J6 s
{ 6 y# F% @( f) [0 W9 k7 T ?. L& h
if(evt.ctrlKey && evt.keyCode=="81") - M* T; H- O7 s; i D( `/ d
{ 1 j4 H2 R" b" ^
CleanHideObj.on(0,1);# V' ?7 d( a3 C9 I( ]4 w4 g) `4 R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + h& K# Z- A" O7 J: }% }
! T' _( q$ @) {9 Z9 _ } / Y9 _* t8 e" X& @: K) Q
} , |9 Z# m0 y4 R, n& n7 @2 r& \5 @0 o; h
document.addEventListener('keydown', keys, false); 9 f( B# h* R% Q
GM_registerMenuCommand ('Clean Hide',
, Z0 ?$ M* o4 [6 _8 Mfunction(e){
7 @+ O) v' m" ~2 I4 K3 TCleanHideObj.on(0,1)
1 A) ?& D% f* m- C# nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- }" b# l: l+ R1 v});9 }% [; U) h, ^+ l
|
评分
-
查看全部评分
|