|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 O( V% Q% {3 ~9 V- ~; z; ^7 A$ \* w
) q& G2 A! R$ _" U/ Q! x火狐插件,用猴子
* Y4 @- Q& l. q2 j* b& F: ^4 a8 S7 O. x1 m& p' ] `, h
var debug=false;
3 k1 s8 G3 J# tvar CleanHideObj=new CleanHideClass();
+ F5 M2 n1 ?6 V5 `* M6 ]- S# R2 ]$ F2 Y
function CleanHideClass() 8 L* x. C$ r5 u9 z) c) ?6 c$ O
{ ' ?# [3 Q. B6 d- p8 J
, Y0 @: \/ D0 X3 C6 l6 O4 F this.on=function(id,bMZ)# ^" n2 i* _& Y. \, n$ s
{
) _1 P: N. P) f* J; p0 W
! G! I9 B2 D* ~ if(id == 0). i% x7 b7 c1 i/ l, G5 r
{
3 g2 _, G) M# }5 e6 P0 ] var page=/* document.getElementById("content").contentDocument */document; 3 ]- K, f) p7 @7 P5 P* d# p: S& N
this.RemoveHide(page,"span");% v3 d/ a1 y4 V# A" N5 a: T2 J4 j
this.RemoveHide(page,"font");
1 e9 ^# z3 u% Z8 ^# n this.RemoveHide(page,"div");
! j2 ?7 `0 G2 J" n9 q this.RemoveHide(page,"p");
/ ^0 m& G6 n+ s' K- ^
) q2 |3 J Q. B* B1 A+ S& D/ b }4 \$ K I, x' r2 O. K
: Y7 I2 L* v7 w8 p; f
}4 I2 V, n) f8 ^/ a$ |
this.getobjstyle=function(node,prop)' h1 e8 x% R2 T/ u0 a ^
{
$ M9 c) c4 v* f try4 G; d$ ~9 ~8 Q/ t, \- A* p3 c
{* L/ C }# `& }2 u
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. u8 \& {: y- S: T' Y- Z3 q3 e
}9 p" I7 L3 e, P0 Z& i
catch(e)
* G0 Y- T0 t* }" e+ T+ q$ D {
( ?2 v; p# L+ W if(debug)/ i% R) D. x0 P3 S! X
{
/ \, C& G0 A( K alert(e.message);' |& o# i, {7 q+ c' \# k) Y7 K, g
}
& n6 q, ?6 [- q: l! q
( h8 X- n# A3 N' D( N return "200";
% U {. U8 g3 ? }
$ o+ ?& p4 G7 H. X* F }5 C3 {* [$ ~- @* f! A" y: F
+ ]& W1 r! v/ M/ b, d) C4 _4 ? this.RemoveHide=function(page,objname)3 r& I/ X6 n1 i# d( d
{* Y; Z, ]: f: [' X3 x, Z
try
; v/ Y3 d! w! {7 ?. ` {5 {3 B2 C6 s' p3 `3 s( L% H1 K
var minValue=15;. {2 M- F' Y F2 I9 K
var objs=page.getElementsByTagName(objname);
- }4 ~2 Y# G: B) _' m5 b9 J& B: X1 [
if(objs.length == 0) 5 I/ m0 [% C& b, z
{
5 H& z1 y l- } if(debug)
- ]- {$ ^8 Y. h K& `8 W/ f {
$ m. A$ c! Q! E. |+ I0 w3 | alert("no object found!:"+objname);
( S! K% K j$ n' J/ I5 a o }8 N- |- ^9 Z+ o( F, z
}
9 X" O% I# I( M% a8 ^! _ else
5 P5 T# y( e6 D5 \/ ^+ b& l* l {
$ S. D$ T3 N" y# Q . W! b9 F0 p! p& i
for(var i=objs.length-1;i>=0;i--) 6 l, ^' w& ?5 D! c$ f( E# i
{& g( U/ u l5 @% R" s7 @
var node=objs.item(i); % X* q( o% l3 T: }7 }5 g/ f
8 Y8 V: i u. A5 @% }9 V ; |1 t [+ N4 g# Q5 I. Q/ O
if(this.getobjstyle(node,"display") == "none" ||# |& P$ k+ t1 x& M
this.getobjstyle(node,"visibility") =="hidden" ||
. N9 N5 d1 y. F* F7 l2 E parseInt(this.getobjstyle(node,"font-size")) == 0)
7 V9 d% y. c4 N- U( X0 ~) w' I/ w7 C {
1 h, V! _ ?0 Y' B. m( S1 \ if(debug)
0 F3 X7 A) x! o( g {
/ T* u- e( }3 q8 m# k alert("remove invisiable!");1 u! `1 R# z/ G: \
}1 P* f7 k; z, d) V
node.parentNode.removeChild(node);* {7 j+ h/ S4 Q2 n* n
, x' x$ J: F5 i$ f: v+ h/ T } p5 B, o1 K; R7 F! @! g
else : k/ c$ K0 U" z
{
2 |: v0 W+ q" a if(node.parentNode) ' O& D* c0 f, N6 v2 l; P' E
{
2 A4 Y8 {: f; Y- m5 y var orgNode=node;
' a) B8 [8 ^; j+ t6 | var orgColor=this.getobjstyle(orgNode,"color")
! F" L" U! ]$ }3 |1 K4 s. F$ Q7 T var orgRGB=getRGB(orgColor);
3 V; a' C# |. @9 ^, Z+ s5 H; } % @) f: H* z) g3 Z5 Y
var parentNode=node.parentNode" v" q8 [! K5 u; M
var parentBgColor=this.getobjstyle(parentNode,"background-color");
* X/ z3 H$ t+ R2 L. Y3 t2 [, Z
. E( E! p& r2 N- a var isLast=false;# m4 [4 i7 J' A, C( K
/ v9 R' `- \" l2 X while(parentBgColor == "transparent")
$ z! {; i* `: h5 u+ e5 O3 j* ^ {% g7 }/ `, |( r* @/ A* i" o
9 x8 m* a9 j$ r* W: u
( W, `- L/ l. x) W+ c5 V# C if(parentNode.parentNode == null); z, X/ f1 P h0 U J: }8 j
{6 [9 w% n7 } j/ }. c
isLast=true;: F: b* M b+ v2 Y: l# A. ~) ?- c
break;
7 l2 x2 |+ s X" e7 w" U% ^9 p& y+ f }7 Q4 s1 s: C' \+ m6 L
parentNode=parentNode.parentNode;2 S9 ] r5 z$ A, h/ q1 S! a2 R
parentBgColor=this.getobjstyle(parentNode,"background-color");- J$ g0 m1 i% b+ T3 F
K" g Q2 l( w: | ]5 X& J if(parentBgColor != "transparent") 5 Z: l8 }8 R1 d7 Q
{
! g6 N6 X& C' _* M break;
) i' F* b5 L6 R% }' o }
! t$ h1 p8 B& K) F/ _" f }0 i0 R5 R$ y4 [. e- E0 k
if(isLast) ; G3 n' Z7 |. n- w
{
3 S. K" N: c6 J6 E if(debug)& s' ^9 R" U: i
{5 R- k. B% l/ L$ A L: {: D
alert("last!!");% Q5 Y( ?8 p4 e1 D3 j# A6 L+ n/ b7 S
}# f! A0 d, D! R: R6 L
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) i2 d- J6 V3 e2 s% b0 U
{% T: @$ K$ r r( {. w0 h; \; |
orgNode.parentNode.removeChild(orgNode); ) l+ O w# x3 P8 c. n; F) F
}
8 a# n9 x, a8 N8 |% b }
3 R D6 q! g3 x% ]4 W( h else% T! p4 u0 X! f5 \4 E; `$ X$ O
{) l- T, ~% M6 X9 G- o6 g+ U
if(debug)
* j: W ~2 E9 c5 M, p {' C m8 Q5 b+ H" v7 X/ x
alert("compare color and parent bgcolor!");
; h5 \: q1 @! c) ]5 Z3 d3 m }
- B' @1 l! [, B% n8 D3 ] parentBgRGB=getRGB(parentBgColor);
9 F# n7 `; c- X5 ?; X3 s' e if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 \, z4 h8 F6 M+ h
{
9 V' U! T$ V. R8 \ orgNode.parentNode.removeChild(orgNode); E6 r" U$ O) q1 P
}& L: a6 n/ p2 j
}
; \+ Z: u" X) Y6 y }4 K* X+ b1 ]0 U! k
}
$ a5 k/ a; y& B% I. H$ ` }
6 X7 |' g) |5 s! F0 Y }$ g: ?$ B! j+ J6 A2 U& h9 U
( e# P) E: i; u' t3 ~ * g9 n, ^& T! Y$ Z- R2 Z7 ^
var itemFrames = page.getElementsByTagName("frame");
& @8 O, m$ c* l var itemiFrames = page.getElementsByTagName("iframe");2 [ A5 D# T6 G- q; l S! U. R, _
' z6 Z% s# y; H% W+ N var frame, iframe;
) D% A& A3 f1 m: }, y6 Y if (itemFrames.length > 0)
, b2 D) B* y. @1 H2 L* F! L {
3 D" S, [! j9 Y" \- w2 Z for (var i = 0 ; i< itemFrames.length ; i++) 3 A# h; r; D" b
{" p' F$ R% O0 s: C6 S. i
frame = itemFrames.contentDocument;
- u( L8 ~8 M) z K2 f, V7 s1 j this.RemoveHide(frame,objname); $ Y5 N6 I' s" ]0 L7 |: B0 i
}
4 Y# a' @9 Q' D% D: ? }2 j" {5 A! f! X5 ~- b$ g
if (itemiFrames.length > 0)- ~+ H4 ?% A: P& Y6 S# E5 i
{
+ ]( w0 y! f8 K" _& a. ]1 {/ r for (var i = 0 ; i < itemiFrames.length ; i++) 1 F- J! s% B/ E' _8 p: q
{
7 Q2 N; h" y& {- e1 G( O iframe = itemiFrames.contentDocument;$ t0 L& s+ q- E, F3 t& L
this.RemoveHide(iframe,objname); 0 A$ k- T9 s" f8 J. a$ K
}
2 N8 F2 y; v0 E" K4 Q2 s/ I& e( R { }
" p9 y8 Z7 ]! V* {' w+ _! J }
- F5 `/ \1 ~2 y catch(e)# I$ ^ I% \- A! [
{0 j6 z, V, L/ {6 P! u
if(debug)
2 d9 Q% y* x* Q( Y. m3 l) H {( Q$ {# N3 \) n/ w2 g% R! u" f
alert(e.message);7 L* }' H! o g0 d
}- X4 X. g1 T: R4 w" N5 ] Y
}
. @+ a1 Q& d( Q: p8 s6 O }" ?2 B9 I6 L- |& N& F
; h: d% p) }) c5 H E}2 e& ]# f* W. b# G# I+ o
; z/ A; z/ w- W/ _4 \# x
function getRGB(colorString)
$ d6 I; V2 \: r& k{
' v2 J3 A& P! h var RGB = new Array;
9 ?0 @3 I9 p: K/ w' @' U var tempSting=colorString.substring(4,colorString.length-1);) ]' {% k0 y" L# L; o# s4 n- J
var tempArray=tempSting.split(",");* I; y/ }0 T( Q9 T, D" e; e# S' |
% o+ u7 k4 N% w% C' K RGB[0]=parseInt(tempArray[0]);
( Z: o p6 J% C5 R8 t* p( ]' X3 _ RGB[1]=parseInt(tempArray[1]);
9 f% |/ r1 D1 O- _ X RGB[2]=parseInt(tempArray[2]);
3 h/ q3 [2 s! B- o- l
$ r9 w# c- b+ B( W4 c0 E3 C% H4 P' W return RGB;$ w& _8 \3 ^( m7 u2 \5 V A% L! N, e
}
, x, F( x7 U2 ^8 K @$ Sfunction keys(evt)
, j7 f7 \ v% w# B; X {
5 X' z' s" K& X' o if(evt.ctrlKey && evt.keyCode=="81") 0 r t' i& h, R# v# P9 b/ _, i
{ $ [ d& e8 Z# ^! ?' G6 B, x
CleanHideObj.on(0,1);* o+ i5 ^+ {( q! ?6 E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + N0 s! w( K9 ^% o2 S
9 W( [6 x% p. ]5 k2 X
} 9 f0 T" H4 T) S- \$ E2 j! V
}
0 H2 Z. J2 V% M* D" D6 T9 Edocument.addEventListener('keydown', keys, false); , Z w1 W! c: q( H( F
GM_registerMenuCommand ('Clean Hide',6 E& q7 G- L: |" h* e( J
function(e){
# g4 c+ E6 J8 s3 ]CleanHideObj.on(0,1)% `* L$ \, N; X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 a' C0 p9 K, t) z* t, T});" S1 n# u& S+ n% E! O5 C
|
评分
-
查看全部评分
|