|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 P7 [) u) d! U
3 q2 e# s$ @2 c" j8 d
火狐插件,用猴子8 z/ j# W1 ?+ T6 D; g' Y
) j' k+ x8 x+ I. p! \ g+ m) |, k
var debug=false; & W8 B2 F0 k3 Y( `% P- ?, A2 E. |
var CleanHideObj=new CleanHideClass();
3 K, k0 ]( M4 h
- ?1 y5 \2 _% H" Pfunction CleanHideClass()
) z* O B% o% C& A! @{ 6 ~. u" e' ], \" F( G
0 c& F, k" X, |# u' l this.on=function(id,bMZ)% y2 W. h- u% ]7 I1 g- D
{
% L6 N: ]; H: |* z* J
2 [5 E) L7 s; _" o. i3 q if(id == 0)
$ S0 g9 k, N+ m# _1 s( C, _) k {9 l, T' U* f0 S
var page=/* document.getElementById("content").contentDocument */document;
+ P/ Q5 D* [2 L5 t4 D this.RemoveHide(page,"span");* @1 u9 B- L, P8 Q
this.RemoveHide(page,"font");
6 w6 {8 c; h% T! v$ b this.RemoveHide(page,"div");2 a6 M& G6 g) ^7 Z; _
this.RemoveHide(page,"p");
% R# B! j5 K2 X3 I4 n; {8 \
) ~0 J! r$ c1 c2 w2 T }% t- b$ R5 ~; N/ M6 K, G& ^
, U$ U7 W" z3 ? }
( L5 K& C) J, l* a( X6 ~ this.getobjstyle=function(node,prop)
* p' k2 b' k7 l- a {* z' V2 J2 _/ p3 |0 X
try* A1 ]" t. V$ R) ]1 t8 y* [% L, t
{. \. F, J" A! |& J* a
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, R+ _+ r3 }6 o% C }4 S1 @; j6 H, b9 k5 O" P9 N; Q; o
catch(e)7 k. p. O( h& V
{. o6 K: v: r v& z% y8 Y* }
if(debug)6 s+ G2 p# d' Q, E8 A( L
{
5 B; o- R9 z! w/ ^5 T alert(e.message);3 s* L' p* s4 J8 I) a( C# j4 F" }) @
}: \" [- o5 L" m! f* D
' Y3 u! Q/ M0 A3 c1 g: V$ K ^
return "200";
' v4 h! [7 I8 e7 O: J }8 Y( w) D) Y$ D( B R' P" K
}
9 M$ l' c2 k! E8 t# m+ O' @9 E 1 x; E0 l" f& h, z- ?5 y
this.RemoveHide=function(page,objname)
; S' `6 U6 U7 }' [! m+ ` {
9 e2 I$ }2 J5 x" b) z, c try
, w9 p$ r. J' |8 |7 I" } {
+ z( N9 v. t# k9 B$ o" p) H; ] var minValue=15;
9 h- @- }( y- c/ B5 r" `6 s var objs=page.getElementsByTagName(objname);
" D7 @6 `# P- J6 N9 f5 J0 [# w# K5 w+ d) H3 D! \+ p$ ~! U5 K6 X: k
if(objs.length == 0) 2 s8 j8 Z5 g/ @* S2 a. n
{
4 `% I1 o: ^/ E- B1 t if(debug)7 q d) h' }$ N% [5 \7 w
{( d- v* `/ ]5 B; D/ o
alert("no object found!:"+objname);5 F: G5 m5 ?/ n7 T7 R7 I
}
, t0 X4 V" O2 q# q }6 ^* p' m9 L7 m( Q2 b* J4 b: q1 j
else. y9 _# k+ g2 Y; U' ^
{4 Y; T% M6 ^( x
. |- p% f; X' b3 C& f3 y for(var i=objs.length-1;i>=0;i--) , [& W# D* f3 U- T
{6 l" g+ W% O n" n& [) Y% u, e; T
var node=objs.item(i); 7 p0 |* {* w2 N
; o, w" C1 }6 `
. _( X! D3 a6 P* t; Q
if(this.getobjstyle(node,"display") == "none" || Y' @) J5 A, O# q" t# a2 p
this.getobjstyle(node,"visibility") =="hidden" ||
/ j/ T" {2 [$ Q0 l# o: M parseInt(this.getobjstyle(node,"font-size")) == 0)
7 p6 d2 \& } s, C- \9 i: t {
# j' @7 ~; [* d/ S if(debug)
9 [+ e, B' B2 Z: y4 C {
# Y( K0 L" ^/ { t0 M alert("remove invisiable!");
6 y u; b/ ^5 Y( r1 M z: m }, o) W/ Y: ]& p' V
node.parentNode.removeChild(node);4 d, W( _! J$ B% z
1 O i! ~5 }, }0 e
}) d4 j0 q: y$ y2 K4 b8 n) }
else
$ T" z6 \5 B, v# Z {
9 x# w$ ~! {, z2 @' U' N' `" R if(node.parentNode) Y, r/ `( |1 p3 @/ O( Q
{
- X$ ?, O/ C) _6 I var orgNode=node;8 ?! ^ j; \, Y7 n
var orgColor=this.getobjstyle(orgNode,"color")
3 @& m2 o" I1 M# m3 U, J var orgRGB=getRGB(orgColor); ) U- C+ L5 {1 W; R% u
1 h1 y- C% P. r) s8 z \ var parentNode=node.parentNode
% e# K/ l# d9 k2 d( ~ var parentBgColor=this.getobjstyle(parentNode,"background-color");: W1 g1 P0 y0 A' K& w- G
3 t: r) x( c6 h. x% E- L
var isLast=false;; u! S# @2 Y' M- z, U! @
/ ^. d" ]6 n7 m" ]" n
while(parentBgColor == "transparent") ; K) N2 O1 U4 P7 ]' q1 |# ~
{6 \3 P' t# h7 Z, ]" ^
' E3 D# s2 E+ u3 z . u+ B$ M6 }* X3 `% g# U0 J6 ^
if(parentNode.parentNode == null)
4 j7 [% t E& z1 J! d {
+ j/ i }$ ?7 A/ I/ x5 Q1 _/ ?) } isLast=true;& {6 U( z" q' W6 X4 {) P9 {. s
break;+ _2 o" M* R9 x' \: w$ }2 G
}! |; H3 |% F2 x1 m+ a" r
parentNode=parentNode.parentNode;
4 t% [ G) N' t4 H4 G1 G6 b parentBgColor=this.getobjstyle(parentNode,"background-color");9 |! e- d4 ? }( r) g6 F' `' T
- O! l" l) j! P6 U if(parentBgColor != "transparent")
1 k5 F$ P) A3 f2 I9 r! ~7 {/ k {
G8 L. P% V! W3 U+ ]) N break;: t4 z% ]% C" m" {6 W! ?
}
9 M4 K; j) k R+ A# f# ]: E1 T } D- V3 Q+ Q; ^
if(isLast)
+ X4 _+ e4 @( N6 l- | {
# Y( Z, r1 S1 a2 |! C4 V if(debug)& j- O( ], P2 l1 W$ X% J/ V
{
+ N V- R3 v! {, l) t+ L alert("last!!");
4 g# _$ @& }9 |3 ~( U5 Q& W6 _ L }
& n/ R0 N; G" x9 M if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 k* K" Q" r1 l8 p {1 |8 Y- ?# [& G0 q5 Z1 p( F
orgNode.parentNode.removeChild(orgNode);
0 E" v! U5 i3 ?5 b }
: L0 b2 a3 H& f* q5 l }
* j- M: h6 j. U2 I9 d else: x( _+ J5 X# ~" @1 ^/ ~+ F# ]
{* c) o6 J* Z3 U4 [
if(debug)
3 k: a! V# l( g/ G {
! G% ^' Y5 ^7 i' P. B% q9 ~ alert("compare color and parent bgcolor!");0 W' a5 T" U) s* c
}
( I; o/ i, V# x parentBgRGB=getRGB(parentBgColor);4 Q i, g; e! q6 N7 ]
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% Z2 ]% g8 D' z5 C8 K+ Y
{
+ X! D1 e% S# J2 v: X orgNode.parentNode.removeChild(orgNode);
8 q% i" Q1 k" D/ c }: v H5 Y8 `9 F
}1 i2 U! }: I5 L: P
}0 b0 E {/ Q. A* k' b1 I' n. E
}3 Q/ b" u6 Q5 v* Q# O5 C
}& ~4 J7 Y0 }# Y7 q
}# Z8 `" ?" o+ L
0 D8 b% ^! ?+ k% w* z, l' l# c 1 Q& e: M' l3 ?1 Z) j4 w; r6 j+ b
var itemFrames = page.getElementsByTagName("frame");# a/ D# F* u. q5 A2 C
var itemiFrames = page.getElementsByTagName("iframe");2 Y! {; h) F- `0 V" S
' g+ I7 Q) r- h+ |2 A, i6 a( [
var frame, iframe;
$ i; a, M. y9 Z7 N* ~8 Y if (itemFrames.length > 0)# [5 D! z9 W [$ n/ q5 y
{
; F' x' A9 h" y+ ^; R for (var i = 0 ; i< itemFrames.length ; i++)
" w% D3 P) d- L: U+ P/ U {! o; A( F- G# U5 ~8 a0 F- K
frame = itemFrames.contentDocument;6 O. g; C1 E. Q, v
this.RemoveHide(frame,objname); 5 d" X2 c2 ^: F
}4 d0 a: ~3 h- W) u& c Y* M
}
: Y% H7 b$ e) i/ F+ z if (itemiFrames.length > 0) [& j9 \& v# V% U/ x
{! H/ b% k6 E8 F7 _8 V+ ]! m6 S
for (var i = 0 ; i < itemiFrames.length ; i++)
% W9 ]5 T' e4 E% N ?0 j {
2 V/ P! ~ S( V6 P$ n! u1 X iframe = itemiFrames.contentDocument;8 h1 P9 z$ `/ v* w
this.RemoveHide(iframe,objname); 0 Z- V' j# t4 Y' D, V2 g
}
+ D9 S" q& [3 }# ~: N+ _5 [ }
8 D3 o7 W7 Z2 W/ _ }
( M3 {8 @& I: w8 z catch(e)) i8 g9 {) H0 e: Y+ b7 F
{1 `. f. q) @# L
if(debug)
$ E# D$ r7 M) `$ l6 z* z0 H {- c" _7 `) L w/ p# j0 r e4 Y
alert(e.message);' A" F+ P' {4 H: Z4 d
}
3 i7 ~1 m' K; A& n }5 @; q/ T& K! A! q1 Q
}
- \7 ~9 |, w$ o5 j3 ]* Z, E7 l
$ ~6 [. c% g7 I: ~6 ]( H}
# o# `1 ]# i1 W7 d, H* l+ y& H
function getRGB(colorString), ^ E; ]8 M5 a( d
{
( g6 _' P1 x z* ]8 @* C7 t4 A( @ var RGB = new Array;( J6 M) Z T0 L6 s. U
var tempSting=colorString.substring(4,colorString.length-1);
/ }0 a" w) o8 K9 z var tempArray=tempSting.split(",");
& i9 n" p$ v1 T7 V
" T C/ e/ f2 W RGB[0]=parseInt(tempArray[0]);- T/ A4 g1 Z$ L7 c5 @& d6 w3 ^
RGB[1]=parseInt(tempArray[1]);2 V- P! S3 m6 {% r+ ~
RGB[2]=parseInt(tempArray[2]);
5 g1 C- p$ C3 o8 \; S' t
$ p4 m+ Y5 a# J# {# v+ I" Z return RGB; \4 b9 C( Y- ?+ [6 G: v
}
$ m+ q+ E1 r' @+ o2 r; jfunction keys(evt)
7 j3 O5 b4 E. m1 w8 y. {/ ^ {
/ P8 N. o- ]2 I/ J if(evt.ctrlKey && evt.keyCode=="81") ; c, s5 Y$ A9 n# n/ U& V) t+ r
{
& j, W) _5 M3 J: w) p( `6 g3 Z k% V CleanHideObj.on(0,1);6 |$ E( l* E* ]) k) J; X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( L* n" D; Z. U0 ^ ' n: L3 m. {1 Q) q+ i) X
}
- e. W6 A! m! i } ! j& N& n$ X7 m2 w0 W3 i4 [8 X% v
document.addEventListener('keydown', keys, false);
' V7 E' b; V" R1 F6 o& @GM_registerMenuCommand ('Clean Hide',; `4 s+ J3 G4 A9 V; M6 M3 A
function(e){
: `. G8 r" ~) p I: Q6 dCleanHideObj.on(0,1)! j! q6 Y, B& f: I5 u, [
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) B: f; v1 Z, a' p+ D6 G4 i. o/ ~
});
; o6 }6 a, X& u# c+ K( a% K |
评分
-
查看全部评分
|