|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; V) k8 ~, p2 V+ y, [7 I4 \$ ? h* W
' q" \2 R% D- {( V! |1 t火狐插件,用猴子
' B) A* n9 d" b6 D8 \0 e3 H7 Q0 K6 F* l" C
var debug=false;
' l" [+ J' }- N5 Uvar CleanHideObj=new CleanHideClass();; x" ?# z/ C- W) H, G
7 A0 p9 D" O- n5 w v9 q
function CleanHideClass()
/ ]% w) e. c5 i. n6 S6 P{
0 b$ e. L5 n% {5 I
1 b0 G3 u& T" q( k/ b! S this.on=function(id,bMZ)1 ?' ]: n) k2 Y
{7 B+ V) @. h0 X Q
" D- K& `3 P8 h7 n4 h4 @+ D
if(id == 0)& C/ j; }9 a) U, c
{
+ a6 V2 a8 {$ B) Q var page=/* document.getElementById("content").contentDocument */document;
; ^( P5 G; K( v this.RemoveHide(page,"span");
9 E9 ^2 [4 W" h, {- q- y( U( U this.RemoveHide(page,"font");
% b$ O5 R" [/ b! ? this.RemoveHide(page,"div");+ j% k; f( W9 |
this.RemoveHide(page,"p");5 E3 i+ }3 x4 M. v+ \
7 |0 p* H9 b$ y
}4 N! y' V5 S, h. l' V
|5 U( d+ K. }3 |6 J7 L
}# ?2 W0 s/ k! t- z1 S
this.getobjstyle=function(node,prop)$ b! \; T9 e* b
{
; S4 m& i( I2 c5 m3 B" o try
5 o( a9 l" b5 F4 |, U {
3 T f* F3 D0 J7 N return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ p3 i9 C( o$ p; e0 O4 o
}! B# x5 f. O! z C
catch(e)7 w" b! w) n) }6 b
{
6 V% H/ ] Q9 m2 m if(debug)
6 |2 r& S/ e2 O6 D' L0 ] {
3 B& [# R8 S$ H: m2 F2 R) y3 H. `4 S alert(e.message);
2 h S+ A3 ^; t3 C1 R }
! G, H; c; O$ k7 s/ V r3 l8 T' A $ o/ J# M, }0 P( r/ Q" m7 Y: o
return "200";. Y, c* E4 J% F
}. u( Y8 |8 I% ~3 J
}" K, t; x' Q9 l
- f' P2 [3 o& w3 G
this.RemoveHide=function(page,objname). y" T# B4 }& }( {$ k
{
- w& |4 x6 p/ ` try, l1 c3 a+ T. D, B- T8 ^% v
{
p, C3 x3 g$ w: I var minValue=15;
; n- l: ~0 i2 v7 O3 l) D% o+ \0 d8 S var objs=page.getElementsByTagName(objname); ; c$ S! J. S6 v, M8 @2 S) g+ R
. P k3 G8 O2 P- ?
if(objs.length == 0)
! A( A/ B5 M% W7 w# c4 j {
) j2 r0 K# X( k T& U if(debug)0 B/ w+ p% ]# J" f5 \, O
{
0 m8 Y; j n. Q) G; W alert("no object found!:"+objname);# Q; f( `/ T- C3 q( h' f+ G& p" E
}
' S$ k) }. R: n; O }
% e4 u+ F" f$ S* e9 r( N else
g3 h% Q, {4 G* L0 @, b% H8 ~ {
: R8 R/ N/ z/ G C9 I, F
/ f; O% \9 a5 K( t4 J% h! _ for(var i=objs.length-1;i>=0;i--)
$ _+ L! {' W" w" C' L) _0 s {8 T8 c8 X, x% F. k3 `; n
var node=objs.item(i); ) `$ `8 m3 p$ B2 o( b9 t0 T
$ R) L. s) \$ h- {) |, ]8 D ; e _ ^) X: \
if(this.getobjstyle(node,"display") == "none" ||
1 m7 p, M u2 j this.getobjstyle(node,"visibility") =="hidden" ||
/ w9 V: T. E# @4 b parseInt(this.getobjstyle(node,"font-size")) == 0)
: C9 [. j. d, g: n, N {
. C, p# [* x* b1 r; ~1 @. e if(debug)# g2 P, a9 u3 J7 I
{; w& C* l8 q" D" |: R) C( d* P; M
alert("remove invisiable!");
4 D3 ^# A3 G1 m, B% i8 ~ }
4 m9 g/ j: w+ Z node.parentNode.removeChild(node);; H; d. q- @# H2 g, ?9 h5 d6 S- V5 T
( t- A$ I x; F. E, X5 |
}8 v5 U# u: C' B1 m
else
, M0 H5 B" j* b3 ]8 F {3 H# U( C" @5 Z8 a/ q& l
if(node.parentNode)
# ~9 |! w/ n6 T {
9 v' y' c2 _! g$ S! P# [6 O var orgNode=node;
, p x+ e, q* j7 x# j var orgColor=this.getobjstyle(orgNode,"color"), C! T. ]3 @( S3 [
var orgRGB=getRGB(orgColor);
) k; V. P9 }; A( ]4 ]0 F } 2 i4 ?' v2 ~2 c$ [3 Q, y
var parentNode=node.parentNode
- y+ L% Y3 O" L var parentBgColor=this.getobjstyle(parentNode,"background-color");) p/ D6 o# v( X6 i
6 \0 ~( u% k& |7 C% I1 v* j var isLast=false;) H( l- ?. ]9 |, _7 r& ~; a
8 u- F. _' ?9 L ~ while(parentBgColor == "transparent") ( E3 k P! w& g
{
* j: O) D. w' S+ v3 X d; ?4 I 7 ]$ i( Z! u( F
" N( Q6 r' t) q. a+ S! ^' G- B; S
if(parentNode.parentNode == null)+ p! Y; ~: x5 j7 X/ h% K$ F1 e
{
% w# B3 Q; O. ] P& l% I) Z% T isLast=true;
$ f; a& _; U. `9 t break;
0 U' k2 K" m& [: N: G" p }
' C3 v4 ]3 C/ b% c parentNode=parentNode.parentNode;# E; h/ a* E5 E& l
parentBgColor=this.getobjstyle(parentNode,"background-color");+ l" \; ^! W" {
3 E4 Y) j G2 C) z- y. P
if(parentBgColor != "transparent")
' R0 ~6 S; k2 T9 o5 T3 O {
% l& p" [% a. \5 h |3 [ break;
9 Q" ?3 n6 g& e d }
' m ^! h3 o2 b, w! B0 M5 U% V }
7 d; \& D3 ^" Z# {) l# Z7 w/ g if(isLast) . i2 W9 ]) ^# u
{
& x% G% N( W/ ]. d) j0 \5 } if(debug)
& h, U# ?; g3 u/ \9 Z# m# S7 h4 l* R {9 L* H8 Q; j3 }* V9 X- e
alert("last!!");
5 a" @0 g/ g0 L l+ I6 F5 V" s }% I2 a2 |. O& o- N; e) y3 U* j
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" A4 Y# N0 J+ T* H% Q [$ ] {
$ [6 h6 n5 o6 l, a; {8 [, B orgNode.parentNode.removeChild(orgNode);
" \ \/ w# m! l% N$ e; Y }
7 Z3 y% T" ?% |& p/ u }, T9 J4 i+ z- [9 F/ k
else3 D* N/ I" S6 i6 G, N4 I$ ^ ^
{* s2 |% Z& H& {2 b1 e! l) |1 p
if(debug); J: f2 i& o" @: h6 ?: s9 E
{+ N; z& N# t- a* T6 v/ Y0 L
alert("compare color and parent bgcolor!");) s# y$ s2 h& q; ]8 y
}! D4 @4 S, B0 T6 T& v1 f: u' n5 j7 N$ [
parentBgRGB=getRGB(parentBgColor);5 B4 \ [7 q" r: ]4 v" }% i
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 [- p, N$ Q. o
{
* q' v3 K. G# g' l- V8 K orgNode.parentNode.removeChild(orgNode); 6 N) H' X; q8 H! d' M7 @# @
}
, }! f% Q% E' Z1 a2 u }% b9 ~. _% R" @& y2 b7 f. y
}3 h; E+ X* C9 Z, z2 b$ x
}/ R: o _1 P4 |) i$ v
}" u2 |: c1 ?% i) K- f, J
}& }/ t- `" K' k) N9 i. t' \( P
. U, z5 a( Y) l : c5 H+ [; @# x! }7 {
var itemFrames = page.getElementsByTagName("frame");$ d% j' c' K- B+ h$ l
var itemiFrames = page.getElementsByTagName("iframe");
3 e4 H6 {) v5 i# M3 i% J/ H
% S7 u S2 {5 U var frame, iframe;
G/ r ]+ R$ u$ A6 b) y9 Y if (itemFrames.length > 0)
. c# o5 t4 v3 u! p; I: z {+ H0 G1 m9 w' x
for (var i = 0 ; i< itemFrames.length ; i++) 3 X' R/ {! |- X; S- s7 G
{
: u6 v9 d6 j' r# O2 H8 n2 ?) A4 y0 K$ R frame = itemFrames.contentDocument;& d9 n. ]1 K- L' O5 t
this.RemoveHide(frame,objname); $ F7 e4 E( S5 @* g2 z6 f
}
?( u9 x9 m- _6 d, F. z0 o }* Z8 v/ M2 ~6 L" y: Z) d
if (itemiFrames.length > 0)* f7 P" T: p2 H+ G4 i
{! `- ~+ C6 j. E* v' U3 I9 f
for (var i = 0 ; i < itemiFrames.length ; i++) - L4 A- r+ ^- C% v
{. i. i/ s8 P: M2 A' e" o( W
iframe = itemiFrames.contentDocument;
6 g% U' t: g0 n8 C8 w: a! V: Z" Q6 n this.RemoveHide(iframe,objname); % c! w( t& E/ O3 ?8 W2 H
}
6 |2 w: C+ b) Y5 |0 i }
( k6 i& B; g! J: m( ?! G; w8 j }( C; Q) O7 I$ J O) \
catch(e)
# O5 T9 [ d( C; N- ~0 d) o {
5 `/ f8 T' `/ a: E/ e! n" ^ if(debug)+ s0 ?! m6 g& `% ^- c% Q' ^5 r
{- E1 }7 d7 ?9 ^# x1 ^
alert(e.message);
6 I6 @+ y4 d0 h+ q* u+ _ }
2 ~; e0 I: x% |& [- V( w7 O) M }
8 o+ D' c8 c+ O0 ^% B }1 g$ x. e- U) O O) x
, T. v8 T* n1 f, a9 O
}
! C# Z" ?4 J" }2 d0 h4 ]8 B( G% z) d/ D1 U* N# d
function getRGB(colorString)5 H( j, M. b1 |
{% @: F* T, l: ]% Z3 B* I1 L$ r" c. B J
var RGB = new Array;
9 s8 S* B6 f, m: {6 r* N1 W4 y var tempSting=colorString.substring(4,colorString.length-1);7 l7 X. u9 D! P" x2 g( v! y0 f
var tempArray=tempSting.split(",");& u/ a$ _. t0 e) U" x) W2 M
3 s, L( k& N, ] RGB[0]=parseInt(tempArray[0]);" W( @1 G$ m! q+ ?. E
RGB[1]=parseInt(tempArray[1]);' d" d& p* [: F L
RGB[2]=parseInt(tempArray[2]);
! g. e" L" ?/ B0 ]- o6 {2 B 1 x5 k: S' o4 h' |
return RGB;. M" Q( j% l6 {* I4 I' r
}, e0 p0 r; D8 k3 Q2 i" X
function keys(evt) 7 V) P& D5 \* M& @6 E
{
6 o9 H- }. E2 t1 Z- j if(evt.ctrlKey && evt.keyCode=="81") & G, B' p3 U) _/ {4 Q
{ ; ]9 g5 }; K* Z! Q4 x' K& e8 n7 z
CleanHideObj.on(0,1);; y9 a4 z4 g k+ O8 \" q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- L2 |9 h4 a6 | " `, v) @$ D6 O" [
}
, m% Z& {3 O( N/ D' _ } ' a/ a5 T" l& P
document.addEventListener('keydown', keys, false);
6 R* B Y: L/ g0 FGM_registerMenuCommand ('Clean Hide',
" m ~1 z& g0 O% v! ?/ a0 Ufunction(e){
$ K, H/ p/ S1 r0 u) D2 s0 V) wCleanHideObj.on(0,1); F7 P: K: g2 I1 P) x4 k5 @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 T1 @1 I, v9 v5 G% R! K});" t W. A c( D$ L% S! V
|
评分
-
查看全部评分
|