|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- U2 u/ T# Q, b7 f8 k
& l% o* s5 e9 n2 J; w* ~1 f; v# `! m+ i9 r火狐插件,用猴子
! m; e* k! C! [' U$ V2 F L1 u- c7 L J
var debug=false; # t8 }9 {( O' I1 h
var CleanHideObj=new CleanHideClass();
; \9 F h9 r4 R$ J, D& @. A; w1 P1 h7 }
function CleanHideClass()
9 n" @" y. ^5 W- M5 c$ Z ~{
* ?2 ~' K# T& k. U
! |- i# U' A. w ^& Y this.on=function(id,bMZ)
p$ r; [( O) H {1 k" G7 ]6 M& B5 l" b0 ?
7 n& l' q, z w& r) y/ V" Y$ f
if(id == 0)
( m" [ Y! m! m7 I! c {: h. u6 i/ V3 R; Z# M# R5 u. J
var page=/* document.getElementById("content").contentDocument */document;
; g( S1 ?- d$ Q this.RemoveHide(page,"span");
" z* m- E( E* q/ R this.RemoveHide(page,"font");* w0 p' d6 t0 b0 \( H. |
this.RemoveHide(page,"div");
" g7 T2 x% \% ^0 _3 a6 a this.RemoveHide(page,"p");
( t. R1 W4 |5 r: h
' P2 ]5 f4 m C1 q8 f; ~* W }+ q' S) f( q2 w! ?0 C
' L1 K$ s5 s/ J( U; a5 G9 \2 f8 K6 U
}
; p+ f# v9 l. ` this.getobjstyle=function(node,prop)8 w( r7 r* L/ ]
{( D+ P# J$ P2 Y0 l3 M) V9 J
try9 j/ z* f; `6 T# [. A
{
- j, D }' B# c. q* z2 s return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 e! b& u6 D Y# m0 ]# q }
j0 L& ^* P" B: O5 y4 e; a catch(e)
: L3 i" S& O8 ?4 y5 ? {
9 K2 k$ @: a3 m1 Y. @. O; o if(debug)' `0 \2 J8 l- g% B& s
{
; [; t3 n( u" U alert(e.message);
+ v6 T4 X" _8 x, I: ^, b }$ r: S% T4 h: A" W# g, z
6 _ S: T/ v+ Z X8 t0 n return "200";
3 R9 P' o, H1 L* p7 ] }
. K* |) c8 [8 h0 z }2 T& s9 f- s0 r3 W
, T* }2 t3 Z6 b2 o# p1 R
this.RemoveHide=function(page,objname)
: O1 q' j" w( Z7 A5 P {
1 M. k( Y; o4 f1 K( }7 w3 L0 U try$ Q! t8 E: q3 k$ X5 V Z* A
{8 G. s, f" Z& T, F( a" d' N
var minValue=15;# e, ?2 w! e* V5 l; n4 N
var objs=page.getElementsByTagName(objname);
( q5 C- w# b' U; a8 T( b1 f
8 s( q8 K( L# a5 K( N# Q if(objs.length == 0) 6 r7 o1 U8 `! t# N( h, b
{+ `5 J: w6 X: s$ I
if(debug)
, t" [ c" w' V {, ~ H( V# \7 a: e* c8 `
alert("no object found!:"+objname);; j2 h# b, }8 ?; _
}
$ C1 H9 B# v# k% [1 z } y; a( M* P9 \# [0 l, g% Z$ B* \
else- i8 e) W- Z; ?( M5 T; M/ C
{) w$ w+ |4 ^1 I8 ?; I( ^
+ q% l$ v- Y% f' i+ B& N3 \6 t for(var i=objs.length-1;i>=0;i--)
! C4 o/ h8 P0 c/ {' }: V( T: P {4 ?9 J$ |2 o4 U: |" V1 _7 \' t
var node=objs.item(i); $ |$ n. e7 y7 _2 m, j7 O
3 T7 `. }6 z) q; ]- A
* m" T* R9 q9 `% ^0 u( F
if(this.getobjstyle(node,"display") == "none" ||
' b' G8 ^' X+ r2 \$ s this.getobjstyle(node,"visibility") =="hidden" ||: ?0 F! V3 A, v* a
parseInt(this.getobjstyle(node,"font-size")) == 0) 7 U3 n: h5 w: E
{
* r: c/ }' l$ b if(debug)" g9 R$ C. e* N3 `
{
/ r8 T7 u; P/ Z( }. _ alert("remove invisiable!");
( `5 Q& A$ p0 q. H8 E7 `1 z3 w }
; T* F5 o% V0 n, m9 l5 s; p3 v node.parentNode.removeChild(node);+ x) k$ t; Z) C
1 l$ \1 j+ @5 P" j8 t: L }
+ I" ^- c: K: k else / B/ x& J% R) l( q* D0 j. W, d" M+ p
{8 U5 q. D8 |7 `5 T
if(node.parentNode)
7 l% ~4 ]5 _) t' a/ ~8 h {
# y4 M2 d" k% d var orgNode=node;2 P! V( X7 l* u0 c
var orgColor=this.getobjstyle(orgNode,"color")
8 ~4 h5 h" F: l6 N7 h2 M S" _0 s/ D/ k var orgRGB=getRGB(orgColor); . S# |' e/ y! s- R( k
( h- T' j' U7 N( p+ a3 w, l) F- O
var parentNode=node.parentNode
# w6 U }: `/ I2 s8 @( ] var parentBgColor=this.getobjstyle(parentNode,"background-color");$ ~7 D. e3 m6 H3 G3 ]) d/ a
& W+ s7 k+ v+ d! q" [
var isLast=false;: |2 y1 C0 o2 F- B% _
2 a1 u( g1 J8 o( v
while(parentBgColor == "transparent") 8 Z; M' e3 ?! z; `2 {
{
4 N/ A7 b' R9 } y) }$ J 6 Y+ j1 ?4 J' N" J: Y
$ M: V" m$ l2 z! _7 b7 Y9 m if(parentNode.parentNode == null)2 w9 Y' I @6 v0 y6 g a$ F
{% ~$ Q0 q: U; v" n
isLast=true;: i& g4 ]1 x% V9 O
break;
2 e8 q# u# l: K# J; q! y2 O- z }9 S' e9 c) @$ D5 B5 f
parentNode=parentNode.parentNode;
- v. o3 q" D, K( O parentBgColor=this.getobjstyle(parentNode,"background-color");9 p( I1 G( `4 g. R0 `* I( y
2 ?$ M2 {7 [7 `2 ]+ { if(parentBgColor != "transparent") . _/ R T# x1 G/ C- C# o
{
/ ~/ D7 F; w n+ O break;
+ r. f# n2 L8 ~ }
! i5 I# P+ ^6 R: [ }6 X; v6 Z# Z/ u* c$ C
if(isLast)
/ C, a9 o" p, U1 h {5 d, T7 Q, h0 E3 l1 n
if(debug); M9 l$ P4 H0 f m1 a8 L& r$ ], @
{
\. j+ m9 O; l: S alert("last!!");
$ k! n r- b b& T }
" n* C$ I1 s* M) l if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); O' w7 d {7 d- D4 {
{
& o/ X9 `' i% k6 N0 S orgNode.parentNode.removeChild(orgNode);
! f% V `, {& L/ ^" e2 y+ ~* \ }" v% t" |, s, S$ p U( P
}) U0 u4 G7 g& H! o! L$ n5 j
else9 q, I( [" Y5 t; Q
{
+ t' `% o( z3 ~! Z. M& z4 G) G if(debug)6 \9 e& K( ^: H! y
{! |/ e1 I, B: V4 \
alert("compare color and parent bgcolor!");2 v5 b. y! c* m8 z+ Q; F$ |0 |6 i1 k# N
}
, H% q% }! b+ u9 q3 M' `; S* o1 i parentBgRGB=getRGB(parentBgColor); l6 o5 y" O; N1 X
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! V7 ]0 I$ r% V; X {
6 N5 H0 ^ i2 H% G7 d3 G orgNode.parentNode.removeChild(orgNode);
/ V8 K, I& l5 V/ I& t, l6 X }
# Z# {/ F) V0 }# [ }8 W2 ]3 S( y* @
}
3 E! }/ e) q, d& Z0 d3 {+ H Y }6 c* y1 G. N& D8 [- t
}' U4 W% {! M/ C; h1 M( b7 Q
}
. E* s( G6 i! B, r4 N# P
- z# o: A. ` R9 S/ f( a 6 P7 u+ _6 v |2 c8 l% ~ o
var itemFrames = page.getElementsByTagName("frame");
# y; A% H$ q) F/ T( }" \ var itemiFrames = page.getElementsByTagName("iframe");
- q8 W9 z3 E& p) k9 K9 n+ L
* n' F; ?& n0 d! E1 \# ] var frame, iframe;
# Z5 L( X: r0 o8 d/ P/ ] if (itemFrames.length > 0)
5 ?$ C0 Q8 b5 a$ B {# |4 _5 e T) | {. e! V% x9 t4 Y
for (var i = 0 ; i< itemFrames.length ; i++) + g5 {& k& g+ Y$ q
{
) g3 \2 s7 U* R5 W+ V T; S# ~; ] frame = itemFrames.contentDocument;7 {7 C+ | i8 Q/ z! m/ t7 g
this.RemoveHide(frame,objname); % B0 x8 I; `+ L- }/ }1 B, c
}
1 Y$ [/ e) H% F, o }
- N# x' f2 ]3 _. I% ` if (itemiFrames.length > 0)
* B7 O V% _! O% x4 F Z$ } {) _. e/ _! D: d8 Q; s
for (var i = 0 ; i < itemiFrames.length ; i++) 5 R/ R6 |6 P6 f; b8 ?# j
{
$ G2 h' f8 _ T5 I4 g iframe = itemiFrames.contentDocument;+ c, d: V* X. R) @( @8 [ X
this.RemoveHide(iframe,objname);
+ U, h% P) j1 Y" o' Y8 @: B }
, t" b9 n) C3 ~& @ }
; q: S8 P9 p$ q4 J+ \# L* O }% }# ^6 F: N0 @" A
catch(e)
2 o( i& X* ?' I2 v* W$ m8 i {8 ^6 U, M i: M+ i& W1 B
if(debug)
8 X: w: _7 i+ _, h3 K {: H4 s6 C# w8 z& C7 Q
alert(e.message);
4 F$ e3 `0 l7 W. @ }! e; m+ e6 Q6 d8 f
}2 I$ n2 q# U6 w
}. g7 E& T8 T" B
1 `9 ]4 |' T4 |& N}
1 g3 L% T# d, I& ^9 a! G/ s7 |7 y! S& e3 [ U: R: l
function getRGB(colorString)* E: ]# o+ Y$ I" I, N3 z! _( C* i; i
{
. K2 z% L6 _ m. b2 x var RGB = new Array;: n' F+ a: i2 T6 \, q0 R
var tempSting=colorString.substring(4,colorString.length-1);/ ]: h" ^+ ]( _9 M# J
var tempArray=tempSting.split(",");8 p( x% A& B9 D: |) D6 c+ S
. M$ N. o+ f) c9 h! z2 B7 h5 J
RGB[0]=parseInt(tempArray[0]);, u; U5 p5 r0 l ^3 V
RGB[1]=parseInt(tempArray[1]);
* e% B) A& y# X RGB[2]=parseInt(tempArray[2]);
% _" [+ ~% l# K+ ]# Z$ Q
{- ^4 ~1 s: h return RGB;$ W0 d5 W; _8 b
}& C2 m* n! i$ {! G' | x9 ^% Z
function keys(evt)
- K$ f) q+ ~( m, l' c3 P3 U { / x$ Y3 q Y# B- X" {) N
if(evt.ctrlKey && evt.keyCode=="81") 9 Z' `% y+ l& o
{ ! J: `3 `/ I/ R$ J3 w
CleanHideObj.on(0,1);6 l6 e+ U. V6 K, P a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # r4 z* ~+ U( Z" L- g& F/ _) n5 S- h
- e: W4 ?# Y' n8 ~2 O' I } ' ~. ~5 s) S$ u
} ! z6 y( {0 {6 k; a( G
document.addEventListener('keydown', keys, false);
' W/ T: L8 U% _9 ?4 `+ T* ]$ iGM_registerMenuCommand ('Clean Hide',( z6 v4 p8 b/ @1 | C* z2 {. b) d
function(e){( J5 Y1 Y( s. c' M4 e1 ~
CleanHideObj.on(0,1)1 i& R8 u' L. e4 E; k- o+ D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! e' O) W0 f. m8 ^+ x+ b& ]7 b3 b G, h
});
4 r% G2 e- j# f }) i4 E8 Y |
评分
-
查看全部评分
|