|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : {# D6 k s! j: u' x& e
" _$ N4 C# D2 ^' y5 S2 a. N2 T: w
火狐插件,用猴子+ v- _+ h4 L# }2 d; t* u' ]
8 l- j* _" c' Y) ^ c
var debug=false; * ~# {+ d& m* ^1 `$ q/ \
var CleanHideObj=new CleanHideClass(); [8 v1 I7 s/ W5 X6 T" B
/ k; v8 l, t4 H. O
function CleanHideClass() 2 f$ g7 L3 z4 B' A; w
{
4 d, O+ H( i/ M% U ! ^0 [, {0 M4 t$ w3 L
this.on=function(id,bMZ)4 a2 }2 Z4 V; m( D, Y
{
- _$ i7 j, W6 I5 {0 O- V) v ; ]# l% Q2 f, S( C3 a) [
if(id == 0)
$ m9 [9 i1 J- O! n ]" X {9 a9 ^; Z' M I c/ @% }
var page=/* document.getElementById("content").contentDocument */document; , x& U7 m0 F! S% q+ a
this.RemoveHide(page,"span");/ m6 D- `. ]1 n* L2 V) T
this.RemoveHide(page,"font");) l' p8 @' a" |2 C; q8 W; }
this.RemoveHide(page,"div");) S8 m+ b4 v: i- |6 |8 M
this.RemoveHide(page,"p");
! f: k1 f/ F* Q V; C 9 ~. F4 K( N+ a# i
}
4 F: X% f$ n# j( w # d1 L- J& D6 r2 i
}
4 B) v: k# j( W8 v0 Q, ~ this.getobjstyle=function(node,prop)
3 v0 f: s8 J7 D0 d( ~) Z {, w$ q7 u% {' B
try
$ D0 y$ G- f7 s, L { e# R2 S5 o4 @) J' u
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ m Q) Q7 e6 M3 I/ }3 Q }1 @5 F6 T- Y( [$ J6 G
catch(e)3 i, a5 @0 d: n ?- f
{
$ h, ^% d% w% r+ f if(debug)
' ?. U4 d @6 l/ T8 Y% |% `$ P4 t; d {. b" R3 K: K( q ^' E% y2 o. L
alert(e.message);
# f+ Q, D( u: L. B2 J1 U% c }0 h0 B. I. O) G5 n
2 c3 H* |* z2 [8 ]
return "200";+ q9 |3 n: k4 c1 [' p2 \
}% E9 C. x1 Y- t/ ^: q
}
/ `4 q: o" W6 r+ v7 g
# X2 ~) Y0 M1 ]. d# ~ this.RemoveHide=function(page,objname) f( X' Z+ S/ I4 ?- G+ q1 U! `
{
- Z( {6 C" i2 K! O- A' c8 H% N7 A& V try5 b9 X4 _6 t! Z$ W% `* U
{
& y, j# H5 w! [, `; L5 K& y ^ var minValue=15;- Z+ X, s) H6 f( ]$ H
var objs=page.getElementsByTagName(objname); 4 j# b7 o, ]) `3 T
x" P1 ?) j; ]! N6 `
if(objs.length == 0)
+ w8 @5 {0 o# x0 S1 {7 g5 s {6 P- N* p) x1 L4 n; n! l1 ?
if(debug)
% H: ^! i% R4 B6 r+ ?: H* B( R {
) T. }/ u& p) {! f alert("no object found!:"+objname);
* c, A, ]( ]/ X0 x$ N }. o7 d& D2 G, b. n+ A! l
}. c# X0 U* l) S' E, ?8 \# D% C
else' H- P, N/ m5 U3 J0 f8 u/ b
{
8 D8 Y' E5 W U5 V ) k$ o. I- Y1 a' L
for(var i=objs.length-1;i>=0;i--)
' T1 H5 D+ S+ D4 u3 W* a4 S {* J2 @. ?. [8 M$ b/ `- X4 h3 F
var node=objs.item(i);
1 ~$ I( g, G: m/ ~; @, X6 m
# a) Z" U" p% u. [6 s. Q3 _ 1 }# `7 @( ^2 b' k4 ^
if(this.getobjstyle(node,"display") == "none" ||1 ?2 I" p- o `
this.getobjstyle(node,"visibility") =="hidden" ||
1 ^2 ]- i6 @6 C8 ^, m parseInt(this.getobjstyle(node,"font-size")) == 0) ' ~4 V! I% |1 s7 `
{# x. M: \! P6 F9 A$ \! ?2 X
if(debug)
( ~ B( D$ j# [9 M+ B, M/ V {
( i1 D) H8 Z6 k8 } alert("remove invisiable!");
2 [ x `" O- y. |/ \0 k }" d* `: s/ @5 n5 ?7 f
node.parentNode.removeChild(node);
; A' z m6 g: q/ ^( J2 n3 M 9 D% j$ I* ~ ]( T3 v# @
}3 x0 M4 k( `6 `. J5 r$ ]& }/ B
else 6 R7 L% s4 D8 N" r8 R* y9 ?* X
{( u7 ]4 x7 ~4 n) w$ w: K: C( s
if(node.parentNode)
' ?) z8 |, V* S8 \9 n. d% Z {; F/ v) @ K+ d3 B
var orgNode=node;5 h+ O# @' d9 m
var orgColor=this.getobjstyle(orgNode,"color")4 G5 Q6 R3 d! d! w6 |
var orgRGB=getRGB(orgColor); / @% r1 ?+ f% n4 r
: _4 F) f9 p) ?% u- |, ~ var parentNode=node.parentNode
, u& D9 U y* B; L* g' w- g var parentBgColor=this.getobjstyle(parentNode,"background-color");: ~& q1 c2 Z0 g/ X6 s; M
, r0 s) j! U# {" R var isLast=false;
, |2 ~1 o4 p ]6 _, R 4 S( }6 s9 l' C. b6 X n$ V7 a8 Y
while(parentBgColor == "transparent") 1 V) N- O. Q2 s/ E$ Z8 F
{
- n$ a i6 X8 r. _8 i1 s: T ( k% V3 g9 }2 B t7 X* _
! O# ^) ^- b5 V2 l4 ~' z5 V" a
if(parentNode.parentNode == null)
0 t/ H8 ^: p7 t, a, b {3 J) Z- p) k: J) W* R! x. r" W0 M
isLast=true;
7 N: s: x, a6 z0 b: Y) t1 h break;
* u& v. h9 D' k! i0 P$ ^4 C/ p }3 Y( P P2 Z0 S5 _
parentNode=parentNode.parentNode;) |( v, v) s( I% _/ E
parentBgColor=this.getobjstyle(parentNode,"background-color");
. ~4 ~# |: Q# U; b2 t6 E
" Z: T* C9 b! i6 W if(parentBgColor != "transparent") & N& O7 N* n) ?" Y
{. |% h( `2 A3 X7 v$ @2 \
break;7 H" s0 p% y: m, B: Y. E
}- E& A H4 z) I! B: W$ D
}
- c& j3 |& A0 d( j. \) }/ V if(isLast) $ _+ A" G% |- w6 K+ {8 L
{3 d6 D3 U$ C/ b! t6 W: }. j- [
if(debug)% s6 G, u% y; p- H- U+ |
{
3 @$ U' Z# m. S; k alert("last!!");
* O h5 l3 E1 x3 b5 \2 @ }
* U: Z: r9 @3 T0 o1 e6 j6 U, \; E if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" a9 P: U& i( s
{" I. |% w) E H6 i( i" b8 Q9 U6 O0 ?
orgNode.parentNode.removeChild(orgNode); / j* M6 w! v: @ f# S2 M4 k
}
. O- j' H9 s+ w) y8 y% ~$ j q }; S9 ]9 f( [7 ?4 j, a
else G9 \: p/ L5 H( w) V
{
3 l$ h7 ~, S$ V, A# n3 W) | if(debug)
2 Q0 e9 t' c& R5 |! a& p3 t' B0 @ {. R+ K0 U. V6 b$ s1 E0 h
alert("compare color and parent bgcolor!");& o4 x8 w ?2 Z5 X3 s( ?" M3 E
}
+ K4 `# P. P4 }) J) J parentBgRGB=getRGB(parentBgColor);3 A# k- @4 _( l+ R% Y
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& m# |/ b5 N* I) p* I
{" e S1 N+ D/ u: @/ \: U
orgNode.parentNode.removeChild(orgNode);
/ H* m; ]: \. E* [ }/ k+ b1 U7 z1 Y, }, t
}
( ~ @1 o1 H3 a+ g: A }2 G1 |( v5 _$ K
}% t! i' k& }- u: o2 k
}4 d) F3 _4 Y# K3 p+ a) {
}/ F% n8 E) y+ m! b! u
- g2 ?& c7 e4 O3 g9 |! H4 u! V , }0 z# t: h& R. L5 F8 z- b( t) r
var itemFrames = page.getElementsByTagName("frame");9 D4 |' h) y7 t: y- f* G+ A" q W
var itemiFrames = page.getElementsByTagName("iframe");
, ?% c, F8 a8 c6 H* M J$ J; r. f$ o& f$ z
var frame, iframe;8 }; C% {' Z: G" ^3 Q
if (itemFrames.length > 0)
! q2 }( k1 Y& }$ t0 n/ r7 y* F: q! ~ {
' H. C/ e3 l; T7 b7 j* G9 O2 R3 _" i for (var i = 0 ; i< itemFrames.length ; i++) ) {; |' a2 A- J# B7 d
{
2 E! C* @0 z: ?% ` frame = itemFrames.contentDocument;
9 z" y3 V- ^0 {, Q( D" i this.RemoveHide(frame,objname); , _' w/ o: K1 X# J
} z7 ^ b P1 T" [7 e: G" J* I
}: _ o/ l5 T! U$ O' t
if (itemiFrames.length > 0)4 c5 G# ~* |$ X$ O. C0 M" a
{6 e+ Z$ E4 l6 c1 d* z' E3 x* b8 D# H
for (var i = 0 ; i < itemiFrames.length ; i++) / H( o; o! Z9 e$ t! b# E8 ^% U0 K
{
' Z7 \5 g; _8 l6 A/ \- L: ~( Q iframe = itemiFrames.contentDocument;& P$ o# n. ]9 A# V+ I* B
this.RemoveHide(iframe,objname); 5 [" F9 m& q6 H @
}
W, l) v1 r3 g% J; l. C) p% d }0 A5 E5 I9 E+ c
}
' o' p8 u5 O8 F$ p& C/ c- t. r catch(e)9 i) `7 u* W" p$ u$ p+ d
{
& k5 A% X2 R4 V3 e if(debug)( Q5 F# y! P9 p( y5 i! Q
{
3 U% z, c, {/ k alert(e.message);* V+ D+ v/ u- E$ L- ?( B- g
}
/ c, b7 c/ v" F" F }. Q- R* e9 w p) v2 G3 [
}0 |2 T+ C. n6 P* y( { t7 _
( q; U& ~) y ~" a7 L H
}5 ^8 @" u1 @% I6 @* w
" e0 ~( R% S+ N' ]
function getRGB(colorString). Q% ]) I8 H* r
{( P3 q! E1 _3 W
var RGB = new Array;4 V/ W% h3 M, y
var tempSting=colorString.substring(4,colorString.length-1);
% h3 J0 ^. }8 ~ var tempArray=tempSting.split(",");3 _ ]) s; S0 X; D7 g
% _ R X) [* ^& [2 I! s4 Y: h. J9 F
RGB[0]=parseInt(tempArray[0]);
9 i1 a. W4 Y7 Z a$ x: B8 W RGB[1]=parseInt(tempArray[1]);/ Z) s9 C9 n+ f# p
RGB[2]=parseInt(tempArray[2]);' D* c: d @5 k7 J( x9 l5 g
- z! \* A$ h$ K
return RGB;+ B$ e5 r' A; h2 m; w
}
& B3 D1 f( @0 V* ^, n2 V: C8 ifunction keys(evt)
1 Q4 C* _ c0 \$ d9 v* Y( c { 5 ?4 T3 g8 S) ]; x
if(evt.ctrlKey && evt.keyCode=="81") - m/ L! F6 R# T8 A0 n
{ 3 ^) _9 {8 k% p c& W+ ^
CleanHideObj.on(0,1);
& n/ j! ?, O& U( ~8 X# h alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( r P2 q% t C+ q' X7 G
( D4 F& z$ G7 c( q d+ ^7 S4 u }
5 e8 X/ T5 o' p+ A; _ n% \ } ! r% x( b; ^- u( s$ C* {
document.addEventListener('keydown', keys, false);
# x1 g$ u" ?2 MGM_registerMenuCommand ('Clean Hide',
6 E5 e, u1 A; N& v g4 m4 i$ tfunction(e){
2 J/ N, K6 v5 D/ DCleanHideObj.on(0,1)
( n% @7 a: m' \4 _) Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, K; W* c# y" ~$ Q});
; j0 y' [ {( W6 N |
评分
-
查看全部评分
|