|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: p* r$ F) u- ]; ?' d' I, \2 l( l5 }% {2 e% U
火狐插件,用猴子
0 x& C Q( T0 c1 B) r1 w( J+ X8 p- c+ G% N
var debug=false; 9 E1 ~- V7 ]0 Y. N
var CleanHideObj=new CleanHideClass();& ~4 X2 ]. p; U
@) T+ w9 w: F+ f: l% Q' Zfunction CleanHideClass() 4 W& j0 t+ e+ h- U) y6 Z
{
5 P" B9 R$ t9 I% l+ g : w H9 ^- Q* e7 F# e
this.on=function(id,bMZ)& }1 B8 U# y/ ~( x4 K! N2 x( g' V
{- I: z* m5 U+ _0 ^0 ]
- `/ b& }+ X m+ i4 \: r& N
if(id == 0)3 w6 P9 q- v7 V' O8 {
{* O, r( ]# N3 Y# w5 a4 R# T, t3 z
var page=/* document.getElementById("content").contentDocument */document;
- D) w/ |8 z0 e this.RemoveHide(page,"span");( f* p4 N! w1 Z' k
this.RemoveHide(page,"font");
0 o+ B% F. g6 G% A$ k! I this.RemoveHide(page,"div");; P- \5 j6 C5 J6 {$ a8 x0 v
this.RemoveHide(page,"p");
. O" p* ?7 y V, a4 s
' G0 i( N; U* K }
0 T \% ^3 d- t- z& Q1 O
& G2 O; E2 _- c" |( f) t }
/ Y' K: G( h4 |( z4 u+ U5 ~5 ~ this.getobjstyle=function(node,prop)
3 Y5 l3 N$ g, d* i s: _1 [ {! Z% X: h1 h7 Q% V' b7 e8 ?
try
. Z) y, K2 k0 a0 \ Q6 h& R$ p2 y {$ c9 f4 L, A) R1 L
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);4 B! p# `$ M, P5 [: x0 b) `6 a
}6 A& t" y P$ \- G
catch(e)
% J1 l9 B! V( h9 I {+ d ~1 N) l @5 |, P/ Y
if(debug)5 U* Q. \/ B/ W6 m" A
{
+ p) d" F4 f1 _) w. ^/ y alert(e.message);" i! t F$ \, P4 R# S4 X k
}
4 X7 o$ R9 M* Z% M8 S ! F4 `/ x3 r! E9 o N6 w. c
return "200";
% ?( D; ^) k9 k5 d }
D; Q* @6 i' A$ v4 B1 i3 a }( v& ~4 Y C& j* _
, R% a, N7 }' `1 t& _) X
this.RemoveHide=function(page,objname)7 M# T! n! n8 D8 X
{
- h3 }, C d/ y- ^: B. C* R try) ~' |4 J3 h) ?( n! a: ^, w
{, Y4 @# I7 M3 K. |2 C; Y7 y
var minValue=15;
( s N. b" O5 y2 _4 p z1 x var objs=page.getElementsByTagName(objname);
k4 Z8 L' \2 L& a! M/ E5 s7 g' y7 d* w3 `: {' T0 v
if(objs.length == 0) . ^6 z- M) w$ K7 N
{3 U3 H& h1 d0 N7 L3 p' J
if(debug) ?" I" b/ `- A. P
{
; M3 K& z1 f' n alert("no object found!:"+objname);
6 J9 S1 k: V6 R" m) r# R }
9 Z/ r0 H7 f. X t9 u3 Q" N }* ~* k4 V( Y* M$ a; ^! P- c
else
: ?+ N* l0 r( Z- N8 t2 {* ~ {5 x+ w% q" _! d* ?& @5 w' ?
7 s' D2 e. l0 \- Q {+ C
for(var i=objs.length-1;i>=0;i--) ; [+ e( Y* C, Z$ F2 K
{
6 M- i t( h" \, z& o, \9 x6 N var node=objs.item(i);
" w# H+ C& w9 D
" M+ |! [9 i8 M* h
1 \8 e/ M$ n3 S! V2 B. d0 O if(this.getobjstyle(node,"display") == "none" ||3 { ~. W/ t; [! U' m
this.getobjstyle(node,"visibility") =="hidden" ||
& f* K, d7 z' [( { parseInt(this.getobjstyle(node,"font-size")) == 0)
8 w E r/ |2 y) y' C {% @1 c: n3 X M1 `* d. l
if(debug)
8 P, O8 `, u- ^/ ]6 o6 r {
$ K1 `# [2 A: g alert("remove invisiable!");; F* P' [- l, ?+ X. p4 ]' |& K" g
}. i8 i3 }4 w3 X" a- |* s7 x
node.parentNode.removeChild(node);
! Z+ }$ m) Z: M/ x( D( B $ k; M0 M/ _, Y" A3 ^2 W
}
3 ]! }$ B& L4 S" `5 }% D/ s$ b; c$ P else
/ t A. `) W! S% _: s {- q$ a5 l( S3 \0 A* @7 I
if(node.parentNode) X& ?) a: ]$ {% y: n' z" i
{& @3 ?) A( m D3 A6 B6 E
var orgNode=node;8 }8 l! f( u( E+ u8 b9 ~0 o
var orgColor=this.getobjstyle(orgNode,"color")
9 t7 Y* S2 d0 x, d var orgRGB=getRGB(orgColor);
4 x% r* T6 D" p7 @/ ^, I4 D % A. f" @' p6 @$ w7 S" _
var parentNode=node.parentNode
! ^' f+ f: H ~ var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 d- r8 e, g+ A% C , k5 d$ }5 K& ^. F* y8 [% _5 ?
var isLast=false;
# n4 b% v5 S* q* J E 7 |& a9 Y% ]2 c2 W
while(parentBgColor == "transparent") , [* O" m8 P2 y# } K2 U; n: }4 k
{# O* V# Z: W8 u2 O: D
# O+ M" v4 y7 P% e : H+ M2 Y F1 V: q
if(parentNode.parentNode == null)
- l) T- ^! e% v* `* S9 O, f0 c {
2 ?, G4 P" Z) ] isLast=true;+ R7 V4 g' r/ x& Q& d2 D! I
break;
. w/ u6 O- v* c3 E- ` }5 W/ s( R L4 y5 j6 {. u
parentNode=parentNode.parentNode;
@. B2 H; v* Q/ V' v parentBgColor=this.getobjstyle(parentNode,"background-color");
7 _" R+ X3 k' z2 x2 b1 Z8 s1 n+ |
3 M" `4 X5 z: A& J! S7 K if(parentBgColor != "transparent")
) \$ J# J' S/ o6 `# A {
8 J7 K. i/ T, [ p break;5 z. I! `7 F: y2 D; ~: S
}) ], e+ O. z& J- @
}1 Y' u0 G0 Z1 u s! U& [2 v* r/ o5 |, K! x
if(isLast)
) S# f: Y- \( q1 r {
# X H( @$ t4 T! z if(debug)
& c: a. ^/ u- d; D+ ] {
2 q" H, X% b2 `/ @: | alert("last!!");. D( Q E) t& M9 H
}
( B& \7 |! _1 \# a if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))3 l; I4 W1 M- d) Z6 [
{9 J3 J+ w" T* d$ |) G
orgNode.parentNode.removeChild(orgNode);
/ n7 i+ g# |# Q8 X5 ]$ ^ K3 d+ I }
- F1 J( _6 ]+ B/ x5 p" i }4 p3 h" _5 r" G1 v& G8 V
else
3 w( }% R" o$ ~$ _( n. U {
% G. p9 {! P( T t2 m/ R# @. V. m! T6 r$ a if(debug)
) U, j: Z4 I% w/ x- H% ]8 @+ k* J {! Q/ t2 I; G7 f, Z
alert("compare color and parent bgcolor!");
& ^& }$ j3 P2 n }; W: o/ a( ?. p7 S B4 s" \
parentBgRGB=getRGB(parentBgColor);( A8 ~7 x9 B+ j& }* i3 t
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 Y' e: X2 y% [. M7 G, O4 ~ {
# V* l% @: `* g2 ^8 s# ^% n. B orgNode.parentNode.removeChild(orgNode);
: k2 x3 l% `7 O" \) c }
" a' L% p1 q$ x9 K }. M" v# _6 L8 |! a+ e: ?+ O( Z
}
6 H- Q) `. N. N: A2 F$ g) i \& [" O }1 a& l! f/ k% C& W$ F
}
9 y: }' L% T* M7 b6 l: Q. R }
2 Y' u( ]' ^$ [* E, | / o5 m8 _: ~: O7 Y% G) ~" j
) g3 @9 c1 y, `& D0 l* Z+ A var itemFrames = page.getElementsByTagName("frame");
$ s9 N1 i( g% B var itemiFrames = page.getElementsByTagName("iframe");: r4 d/ e- }7 ?
. u. q/ c6 K s/ J var frame, iframe;
7 z% x: `' Z# \+ d& B+ k if (itemFrames.length > 0)
7 a# h+ X* b' U4 ~ {2 r& N% G3 |& g, o/ V8 p7 j8 ~( c
for (var i = 0 ; i< itemFrames.length ; i++)
$ g6 l% M2 R: `( d {
4 @" v4 R6 J1 n9 o frame = itemFrames.contentDocument;
' l' A4 A1 e9 Z5 e2 Z9 @8 c: h this.RemoveHide(frame,objname); 5 h% f; d1 ?3 d) R( B
}& M% y: B5 o0 |" v) Z
}
2 }# T& t2 o3 x$ I: Y if (itemiFrames.length > 0)9 x( [, I* A, b4 S: Q$ }' i
{
, X, @. ]6 ~& }, M/ \* C r for (var i = 0 ; i < itemiFrames.length ; i++)
% D4 r T2 B, w( e$ P8 k {
! l- ^: {( g9 e iframe = itemiFrames.contentDocument;
0 i1 P* x, e" F this.RemoveHide(iframe,objname); 4 }/ T$ [1 D' T5 p% ]* O' I
}
) V0 ]9 k) W3 w9 f" t* t% F }3 I2 l1 ?% S* V/ b& O
}" ]" N( a% z9 |
catch(e)
8 Z5 S0 ]8 }& J2 c+ W( x/ W1 p9 C {/ U% t& r2 ~1 v5 z+ _% ^+ H
if(debug)2 i( x( O% v5 m5 o
{7 P. O, w! {# a# `7 ]
alert(e.message);
6 F( P1 E& R+ u8 @( O0 _ }
& T/ K, q! d& G- O; h }
' p% L& S8 ~; l7 b, v! o }
C7 V% V& F; f 5 P, R3 G+ T O: m( ?
}
" j$ I# x# G' }6 s% H' K, r% W7 K8 o7 b# C
function getRGB(colorString)* j& Y! }4 l$ i o$ }7 E# h
{7 e" l( \& q. Y. B" C5 z& u7 X
var RGB = new Array;
$ [! H+ r; U" p2 p; U5 L var tempSting=colorString.substring(4,colorString.length-1);
; [2 E# v) z! G3 r! W- K1 U$ w var tempArray=tempSting.split(",");) o$ X9 f! S$ ?2 x" l
5 h& k5 M7 I' N, l0 c. S
RGB[0]=parseInt(tempArray[0]);
. _$ |) X1 r9 f7 k' n RGB[1]=parseInt(tempArray[1]);* E3 Y" J6 z. l5 U9 V/ H: a. C1 d
RGB[2]=parseInt(tempArray[2]);* s4 c; @1 A# ^- r
6 W, y e& g8 J* c return RGB;
- @" \! Z9 i9 [4 s) K% l3 r- \}. _ O% r8 h$ G7 O3 ^' U. T
function keys(evt) 5 L- X8 L5 z/ K( n
{ - l+ M- [6 O& I* \
if(evt.ctrlKey && evt.keyCode=="81") 4 q/ H! `, l1 b
{
8 g: J# |/ a2 E0 z# L5 W$ T CleanHideObj.on(0,1);
2 K6 y7 G5 M3 B- s! D5 W alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) \* t9 I" ^. W# K ) ]) P4 ?% Q2 A! |/ ]0 z; x
}
9 _9 i2 a6 P$ L( q, U } ( U. a: \8 W5 |' a1 G
document.addEventListener('keydown', keys, false);
( e6 }& e. K% k2 q' OGM_registerMenuCommand ('Clean Hide',
+ ?8 x6 Q/ i! Cfunction(e){
( ~# P: T L' s6 s: ACleanHideObj.on(0,1)
+ f; r$ {( A* x, Salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ `4 `2 V5 o- Q& W0 V6 f6 p; i});
- D# |% N4 Q+ K( Z( T' n |
评分
-
查看全部评分
|