|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; E' c$ p5 X8 u
0 L( l% p0 o: M* G8 s$ {火狐插件,用猴子
; f2 i' J% z5 d/ X7 G5 I" j: F3 H3 ~; v$ O, J& `
var debug=false;
9 j$ V( t3 B4 [% z* l- evar CleanHideObj=new CleanHideClass();
1 l% P. x8 [) |
8 |6 N- o9 A* v% efunction CleanHideClass() ; T6 ^, v" F4 O& D& g# q
{
( f9 f |; k, B. }# E9 G
3 O) |4 e" j5 C d5 F/ f this.on=function(id,bMZ)# c) w9 K3 H, @8 r# R1 M \/ h$ ]& v
{9 g; k6 t, }" R
; C7 c9 i" g3 }. ~. m5 h: m. s3 v if(id == 0)1 Y$ B- Y- U1 s
{
! N: E: a+ j- w7 Z2 k7 p+ k: H Y( Z var page=/* document.getElementById("content").contentDocument */document; . x6 a2 r0 H0 j8 |$ Y$ d4 t# u
this.RemoveHide(page,"span");' x7 \0 D/ W2 ?+ z
this.RemoveHide(page,"font");
6 ^. {& I$ D% E: b% }& e& G7 O this.RemoveHide(page,"div");4 g: `. P' k+ k) }1 a3 _1 v
this.RemoveHide(page,"p");# z7 n/ A* ]9 O/ [. D: J/ T( o
8 [5 r# v6 D. H8 { }
, d5 |6 Q" O+ Q1 ~3 u7 t
5 V4 [$ }; d& n) B# v+ n* |; U }
; p* H, T0 T0 ]8 q& Z this.getobjstyle=function(node,prop)
* i5 K: ?% [3 @ {
' p; I& U) ], h9 e \, f% O try+ X' G3 }3 C _
{7 {' [: c/ W, a! \3 m3 x! ?; t% w! ~
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 o/ Z% t/ S2 p9 F! J) r3 t t) i
}2 U2 l. d# ?/ {$ m, ]
catch(e)
3 k* D+ w8 V8 t6 R {
! I% D) B- S( [0 ], l) S' Y if(debug)
, l+ V- R; V2 s3 k { v$ l( t- b; z2 S3 J' ~# s6 E
alert(e.message);
7 D$ N: x( N6 O3 n9 C }
5 z z7 \- q8 }9 J, v 6 G# I ~5 G5 c
return "200";7 B# v( l, d! `1 Y# q/ ]
}
# ^0 D, @( O+ f' A& j n }# L- o4 G4 |- l) |) \4 f+ m5 D
8 x/ s' k% I6 O0 C( _: }) ?
this.RemoveHide=function(page,objname)) u# n. L' ]" U# \5 p0 C( V9 S& ?
{2 l: e; L7 @6 |3 m
try: \% d& b( J) S: @
{1 Q. R+ ?" W. D& _) d
var minValue=15;( E$ b8 V, m( w6 v3 r5 g' \) G
var objs=page.getElementsByTagName(objname);
g: H* R0 C% ~9 {$ Q$ z! {; Y' A/ d9 T
if(objs.length == 0) + j9 N, G9 S7 h" }
{
. d" }- }0 y+ m9 L4 B if(debug)
~/ F" f5 I9 K0 z, k/ \( \3 m$ \ {
% R. A9 q& K4 u/ i- l _3 e alert("no object found!:"+objname);0 H( |, G$ e+ x" ~$ G Z
}
- X! Z7 ]5 l5 P9 \, r. T; T }
. c/ h) Y0 Q* s) O, j1 u, F; X else
1 t s' C G% B1 V( R. [9 l {
' c% Z: N4 Y# u* ~9 v1 X
. Z$ r" _) N& R4 Z9 `! ^ for(var i=objs.length-1;i>=0;i--)
' J. ^, Q8 V& m. A {$ G% ~/ K0 Z. l
var node=objs.item(i);
, n( E6 B Z/ [9 a5 I8 U, m / M1 ^# F2 t& W$ _9 ?( ?
! Y3 p( @+ q$ i- b( N3 D* [1 m
if(this.getobjstyle(node,"display") == "none" ||; z/ I; k V$ L2 T- M F8 |* V
this.getobjstyle(node,"visibility") =="hidden" ||3 ^, ~- C w- [7 d
parseInt(this.getobjstyle(node,"font-size")) == 0)
0 z8 r$ P1 Q- ~0 _+ t3 ^4 a {
# |% `1 J8 f |9 ?# U! w5 b; M( X3 y if(debug)
) X0 Q1 ?) Q: d5 y+ E {
6 A& Y3 B" m ?1 H1 I1 W0 Z alert("remove invisiable!");
: d( }& e8 z8 y0 n5 F& ] }
9 a+ u( r' y7 }5 s! b node.parentNode.removeChild(node);
! d9 E) \4 [1 v5 k4 t) L4 ~4 ` 2 a4 Z3 X# {" t
}
" i0 G. l, C" o else * r, ?; Z& M+ w& m2 H
{
4 V/ }4 Y2 C: k: e k if(node.parentNode) * O, K( ?! R R7 S# U
{2 q& b- n8 t# {" B" A- |9 }
var orgNode=node;: H* O% e) _' S( W4 ~0 B% k6 F; P* M
var orgColor=this.getobjstyle(orgNode,"color")& q. ^0 M d! h
var orgRGB=getRGB(orgColor); * {6 U7 f9 I# m, u6 i& E) V6 a' {/ C
/ m8 o+ x- M: `
var parentNode=node.parentNode- |, x$ Q* Y" o. ^; k [; |/ x. ~
var parentBgColor=this.getobjstyle(parentNode,"background-color");
, `6 K r. y2 I
* w: |) T- B0 _( L9 v var isLast=false;1 P/ j3 Z$ f3 Z, _) r
) n% t& T8 E; F" @ while(parentBgColor == "transparent") O( q$ S* G" G% |! K. O
{
& H P1 m; X# ?) k7 v# Y9 [4 q ; Z5 B/ J+ _' x$ B
! T N5 k7 _6 Y: U
if(parentNode.parentNode == null)
: R# k8 s# f! Z1 v* w- Q( K9 Q {
$ p- Z+ [$ s& F isLast=true;5 P) Q" l3 ?- A9 M( R, A
break;
" Z Q! c0 N- q% ]7 w }: m. p- H* \9 u3 ^
parentNode=parentNode.parentNode;
9 v- |/ K+ S; O) o4 F1 s% ` parentBgColor=this.getobjstyle(parentNode,"background-color");
# S1 H1 v1 X0 A) u/ M9 k# @, H0 v+ F3 ~2 `2 b
if(parentBgColor != "transparent")
" J3 C" ?! F5 y {7 C# [/ h+ t/ _9 h0 H- w" V v
break;
8 O) j7 a; i7 A& y E- k }
; f8 ?) E9 h7 o' j$ q ` }
+ A: Z; H" U1 c6 @/ ` if(isLast)
1 u0 f4 Z/ X9 _& _* L/ r0 \5 `/ w) V {. v. v$ L6 O4 ?! G8 K
if(debug)6 c: B3 Z( L' e- b H; U0 ]5 i
{+ i# W6 o9 Z5 Y
alert("last!!");- p/ a: j8 w9 T2 E! Q9 }; M
}
- `& h% r D7 [) k" T7 ~8 ]2 ` if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& d. A0 f, ]5 I$ d- u
{9 e: c/ e! V/ _6 b$ K
orgNode.parentNode.removeChild(orgNode);
+ O0 z* U. q# v3 c1 ~ }
0 S" C& u( u! _, p2 G3 n }
! ?- v- ?/ q. O6 x: S else
8 q z$ K# e( B1 L- F5 D& [ {# | I/ N0 s% v2 X% k! |$ B
if(debug)- w( ~4 b! M8 J; ?) C+ ~ y$ ?
{
( j" |& p* p- S7 ]3 O: g, S, j$ t alert("compare color and parent bgcolor!");+ h- E& L* }, T. w. U; _/ F5 q3 @
}7 ^7 |4 H; K# [; f7 P9 k
parentBgRGB=getRGB(parentBgColor);
0 l5 ]$ C M; F4 B if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ ]% n5 f, W/ ~0 b: Q! [. Q# O
{
' n8 O5 S+ s: m, t) N& X: }& U! ^ orgNode.parentNode.removeChild(orgNode);
+ n" X& \7 h7 k1 q- O }
( F: H o1 e" z% ~ }
0 b+ s9 ~. _: R+ e" B& G }& |6 X$ I+ H2 P
}
' G& @( c1 D, ?3 ]: K }
: K& u# h/ K2 K4 M- Q% w0 Y9 J }( s. A- A* e8 n% j
E* G9 c7 K& S
1 L; F' G' F& d5 _ }0 o- c% Z var itemFrames = page.getElementsByTagName("frame");1 P+ M/ w4 U$ ^6 g9 n+ o
var itemiFrames = page.getElementsByTagName("iframe");9 i/ b' Z6 j5 }* w6 H6 H
4 f3 M" g3 M) A/ K5 p+ ?$ I1 A7 Q var frame, iframe;9 z8 T6 c( A3 {0 z8 i
if (itemFrames.length > 0)
' Y9 W; s- c4 ^% D4 p( R! R! r {
" C7 ^* A9 w2 C$ ? for (var i = 0 ; i< itemFrames.length ; i++) 2 y0 ?5 i( V8 U7 B/ h( S$ W
{* R" _4 T9 Q: Z5 e2 Y8 R' u( k+ n
frame = itemFrames.contentDocument;
9 L( L6 X! {9 l z this.RemoveHide(frame,objname);
, u$ s' Z* @) F0 w }
4 I+ J: _( D' F0 c: q7 k1 \6 o }
/ p" s8 L5 X& X9 i$ W5 m7 T) U if (itemiFrames.length > 0)
9 `0 U4 O5 t; U3 l$ I {
9 S# h m0 c9 J7 h for (var i = 0 ; i < itemiFrames.length ; i++) 0 @6 k7 {3 l1 P: s0 P
{8 A6 N: d v' Q$ H5 X9 C5 H: J
iframe = itemiFrames.contentDocument;, j5 M. _1 T9 @+ O
this.RemoveHide(iframe,objname);
5 E% ^ Q4 v# S; ` }# Z2 i7 P/ j4 Y: b) r
}
. b+ b) ~2 q9 _& L }6 y; }. k* k; e, w8 c# Q8 s4 i7 s$ S
catch(e)
& g+ X1 H7 o+ ?) }& N& M {$ m- x) I2 z! P# B" d" _* z1 @
if(debug)' {8 s0 V1 e8 W2 a9 D9 b K s/ @# {
{. [/ ~" \& @5 ?/ U% `
alert(e.message);
) H* v0 L/ p9 O- u4 T7 J a& y/ C9 k }# L* Z7 l. r2 R
}1 p0 v2 g! ]) b, |5 S8 |
}# R% i, f% Z* u o% W" I( Z
4 p0 S) O6 [2 q; Z+ F/ C7 S
}; R, n- w7 Y. R3 Q2 R4 a: @
2 Z; @6 n% I4 v/ q. K a$ Ffunction getRGB(colorString)% x; i# C ^: M4 y+ z# q7 o/ G( u
{8 ^/ [2 ~" o7 s) j0 g
var RGB = new Array;
( P q1 j& p( A- u& ] var tempSting=colorString.substring(4,colorString.length-1);
5 b& O4 J* p- ?0 v, `* K+ Y( h var tempArray=tempSting.split(",");% T% c6 M3 @0 z- O/ ^# v# V# w4 i
1 R: [7 a) W" z x r! P RGB[0]=parseInt(tempArray[0]);
# t, b9 \0 L; S8 a( y8 s: U/ Z RGB[1]=parseInt(tempArray[1]);# Q7 _8 J5 a! o
RGB[2]=parseInt(tempArray[2]);: Q3 s. E1 ~8 D5 [' ^$ @
+ P/ N& B( d, b, O5 ^ return RGB;3 m0 |1 M9 z2 `, Q( ]2 p
}
: U- P( N; |( Y8 A, t7 gfunction keys(evt) - l4 K' Q9 l/ v { B
{ ' E3 K% T* t6 J3 \: X) }
if(evt.ctrlKey && evt.keyCode=="81") 5 d) K* e t$ B4 u" i9 u: N% |
{
9 D. k+ @. @% j$ Q- m CleanHideObj.on(0,1);
) ~% W+ {+ J. q* j9 U" b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& f2 P: b8 z! C5 L! u
6 D+ G3 T9 h! K& Z }
- @/ K5 K5 G5 W: P7 q1 Y }
) x( g: ^% R) L4 A; R: K! \document.addEventListener('keydown', keys, false);
2 J' E: T2 d$ z( wGM_registerMenuCommand ('Clean Hide',
4 F4 D, E9 E% s1 j! C# {6 S+ V" A5 Sfunction(e){
4 \( J0 J" A( `4 OCleanHideObj.on(0,1)
/ r% C* N+ A0 a& Aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; g( f! }4 f2 |, s& Z p});
4 a0 @& p" X1 Y& Q" Z6 C' Z# B |
评分
-
查看全部评分
|