|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 C$ K4 a5 ~) \ a# z1 U1 Y) U q7 J9 r/ ~+ }, Z9 F
火狐插件,用猴子2 }7 V: }4 K; k8 Y) I9 s( o2 v
; R# j' v; x1 o' C, y1 D9 v* Mvar debug=false;
. y# D( @( U4 m; C2 l, |9 Gvar CleanHideObj=new CleanHideClass();
$ l g2 s$ D0 {, b' Y# ~! C' ^0 R6 a) S# x; v
function CleanHideClass() I/ o3 |% p) R+ }/ v& Q7 x
{ 4 k) v6 {: Y/ ~# q; I/ V: v1 n% [/ l
5 @0 D( D$ J6 D* j1 T& t
this.on=function(id,bMZ)
. G \" ?* d! @ {
, f" T1 R. n9 ?( M 6 j" i% d( Y) P1 b% m# E
if(id == 0)
- V* _8 x$ G( a5 E {
. U1 {# G; I+ s D* d K# ~/ i var page=/* document.getElementById("content").contentDocument */document; 3 i5 U% {2 B1 Q
this.RemoveHide(page,"span");7 |- ^; S% e' g1 g Q z
this.RemoveHide(page,"font");
. U. \9 z7 \) @* V& K! ` this.RemoveHide(page,"div");0 e5 l1 M1 z- q) j; _% ^* f% e- w
this.RemoveHide(page,"p");& Y& F4 V! j5 p8 O/ ^# q4 X
0 F3 Z3 }; c& E( O* I s7 X9 x+ ~
}. A4 M9 @8 k: A f `0 O/ u, J
; R2 Z, ^' H% ^1 [! c9 L. |" t
}
5 c+ c; E2 f( }/ f' o; a this.getobjstyle=function(node,prop)
3 H4 A- ?- _; ^" J3 K+ J: u& N+ D {+ t. N6 r+ v6 r2 M
try5 ?; {+ b6 Q3 k+ L% t) I
{1 j& E( ^) i+ j- Y8 t0 n
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 `: H; H! h) y t6 ^4 X
}% N$ }, K+ ~! i' l
catch(e)
( B Z, `9 z- c* n {$ u, r1 `1 s$ F; Q
if(debug)3 w/ x' L; q0 E. Q8 A! [
{
9 W( \# u4 C% } x alert(e.message);
2 D5 {" F* v. c, v3 H2 A4 E o }) H$ O1 w) n( C) H
0 ^8 x: {: J: Y' R, V- x5 o* P return "200";! f# R9 p' L) Y- v* J$ q W- ~) W. U
}! P( ~1 s( a; p. o, O
}
( |$ |% l+ u$ M! J) B% p+ _ / W# O0 d7 n. K# Q i
this.RemoveHide=function(page,objname) u% Y% V: d' m
{
: T# _0 v+ q5 I9 b try
2 \8 k1 {. w! H {
: m# `" M. b* n; O var minValue=15;
' D J" k- D3 ~+ J/ n, L var objs=page.getElementsByTagName(objname); 4 z. ~4 u+ }- ~* e6 w
! ?. B9 [, K; {/ _
if(objs.length == 0) ) N" C. C- P: A+ T1 `
{
. D0 G% g4 G# |% V! T if(debug)6 `& J' m% ?6 c c
{
% H+ t1 i. m7 `6 v6 G alert("no object found!:"+objname);
* \. Q9 R: @$ R! J: Y$ g9 e }4 y: H h; y% B5 Q8 Y% h
}
- E( v/ o0 E n- a+ J4 { else
. u% t" ~% o0 P {+ o0 y5 J% f. i( z+ z/ ^/ `
5 p! o% J G4 U8 \
for(var i=objs.length-1;i>=0;i--)
( D' o0 v/ ]' v# D9 ~$ y {
/ F `3 @6 h } Q8 k var node=objs.item(i); 5 s( v+ V; o- y+ Z" ~
( h+ u5 p% o6 T
4 J& q, k; s E9 y. A( @ if(this.getobjstyle(node,"display") == "none" ||
2 L: L+ s1 D* Q, t# n this.getobjstyle(node,"visibility") =="hidden" ||
7 {7 I/ t1 {! i* e9 i5 b parseInt(this.getobjstyle(node,"font-size")) == 0) 0 j/ A* B9 g" g. i$ L! s: K+ H
{
! c1 E. q0 [$ F! e7 {3 p! F% a if(debug); m) a5 m, z( q! `8 n) g
{
M0 |6 Z, }- n$ d: _7 S4 S alert("remove invisiable!");) |" |6 F9 t/ U& e( k( h' x
}
6 N( a0 D- X# m |6 | node.parentNode.removeChild(node);
~6 U! x) j A: C7 A+ [7 ?1 D m9 y- l8 d, L- n
}
: K& H" u+ ?* Y else , v' E! L! I$ @0 }) `# T
{
, ]9 [+ f: D9 L; {0 x) d, f7 O/ t if(node.parentNode) 6 O% R X2 l# o
{
$ q) F! w" x: q' U, W' y) D1 M var orgNode=node;
2 J6 x: v/ }0 j, O) k3 T var orgColor=this.getobjstyle(orgNode,"color")8 ]3 L! ^( v1 Q' G
var orgRGB=getRGB(orgColor); 1 h% N' B. J& Y2 B/ S5 Q; }
% L7 k3 I1 S: Z0 `8 I2 R- a var parentNode=node.parentNode% x2 a/ k" ^( m r" ]& p0 ]
var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 u3 q* P5 b/ J" }& [
7 K+ h: n8 i( Z2 w var isLast=false;, z( ~2 N* M2 _4 ~& L, b
4 l0 h; d ^5 N' H) k
while(parentBgColor == "transparent") 1 |. c }. H. D5 q9 t
{
* |/ U* y% K; _4 H % F2 ^0 {6 i+ h7 P/ \
, _. k2 F& k$ W* D; }9 G if(parentNode.parentNode == null)
, X7 y, C5 d1 `. E: n1 M- t {9 e3 s2 f- q' @8 l2 P- t
isLast=true;3 j9 s+ R( c* b/ U! ?
break;
+ j+ c Y9 v! q) E, D }
* ~4 C6 X' a5 K; ~ \ E4 E$ k" R parentNode=parentNode.parentNode;' R/ i; Q5 n3 m
parentBgColor=this.getobjstyle(parentNode,"background-color");
& l! |' E) }8 P+ H! t) d8 Q' h+ |2 p- q6 r& j5 Q0 z8 Z3 G1 E+ e
if(parentBgColor != "transparent") 4 g) u* @- _5 _; m, ^
{2 b) ]- l' K# s. u2 j' S- E6 L
break;
8 {/ F1 ^1 X7 G) r } X; g# I7 e3 l( {8 F
}; H2 I! m& U, E7 j+ J3 @3 G
if(isLast) 5 ~" n; Y, K0 W
{
x9 Q8 ?1 ]. ~ if(debug)9 @0 d, F) v8 B$ ]
{/ w9 N( O+ B' T$ ^8 J
alert("last!!");: W+ N; n8 g# t$ _$ t+ U) P
}
' ]; j. D* t8 U/ c9 B if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) P( p/ b$ R1 V9 U5 P
{( C% m# y. E' ^( ` n, {/ }
orgNode.parentNode.removeChild(orgNode);
. m1 i" q$ ^+ \2 U, V7 X }
: W# [' j6 ~. ]* n+ t! F& |7 Z5 {$ m }
) n9 z/ `+ j2 X8 f7 q0 ~* { else
$ J3 u" Z2 \# v2 m* l {
. U: e0 d: ^! K- \- l: S3 v1 | if(debug)6 S3 w) p1 E* k+ B6 u5 y
{4 d R2 a A( m2 `# u; C2 t
alert("compare color and parent bgcolor!");
z; I" Q, \# P. t }& d9 j7 E% P& s# E; H2 Z1 N+ J6 G
parentBgRGB=getRGB(parentBgColor);* f; T+ r! }$ t" X
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 A; l6 n0 u0 W3 n Y {
7 o" i, U9 c9 D% m orgNode.parentNode.removeChild(orgNode);
2 a8 |0 N7 v0 q2 g6 ]5 G" l+ x2 \8 G }4 }+ ~* n7 i: M
}& d( o O- v4 ]/ U# ~( o
}
2 D1 ^; h1 p/ U& O }/ v1 B5 E$ N* e1 o7 M
}
& F+ B! E, U6 A. |: F }* j! b$ \, r( y- F* r( I+ _! w
8 X" r& H! T, A8 z" U1 I
& J& `" I6 m8 ^1 O% Y1 C var itemFrames = page.getElementsByTagName("frame");* Y" k) F" x- }
var itemiFrames = page.getElementsByTagName("iframe");
0 I3 r+ x* j( o / D- w1 W* a! P* z
var frame, iframe;
: f! ^- w/ K5 G, D; R' l if (itemFrames.length > 0)
# M/ F; l8 d# O# E1 L+ g {: _" J# v9 Q" O/ {! N
for (var i = 0 ; i< itemFrames.length ; i++) % x4 ~8 |0 d. g, g$ q, s1 w' D
{
4 n1 Y( ^7 q: @1 }) l) f, { frame = itemFrames.contentDocument;9 T/ J' _0 X/ W. B% t: ?; M& P2 a: g$ W
this.RemoveHide(frame,objname); L2 R) l4 M3 E1 o
}6 g; V! \2 h& H/ [
}3 I! c% q2 g! b/ ^
if (itemiFrames.length > 0)1 G& I: W, V5 Z9 q
{& B' J* D0 S5 o, d
for (var i = 0 ; i < itemiFrames.length ; i++) ) ?: `& r" h) B6 h1 Y' w6 w8 s% ]
{
" ]; \0 `0 e* l/ E iframe = itemiFrames.contentDocument;
2 j6 K$ f- w+ l/ L2 { this.RemoveHide(iframe,objname); ) _* ]$ x2 m/ f; t1 L8 a1 n, W
}2 t; Q0 H2 \) d5 H( j/ ]6 y0 V" x
}
' L( M# l4 c) ]; p; |3 D# ^ }
6 ]; z) {/ V0 c" f3 ]( \8 o) { catch(e)9 B- l+ e+ e( |1 A* T1 T
{
2 q+ C& R1 ^- u4 D# ] if(debug)
( u6 q" T: b; A- C! l; Z! K {
4 R( z1 v5 k* _: H2 B2 f alert(e.message);
c) ^+ ]- x" [8 s5 H }
' H$ u: o9 z+ {6 i: ~- b7 C9 o& l }- O0 _8 R6 O- S: v" Q; [
}
z5 p1 r, S4 |4 S' i- X4 C , B( E! X7 s2 s. _& L Y0 A4 d
}
# y. ] m$ V9 N* ]* L# v: m$ L7 M% }
function getRGB(colorString)
/ {- x9 G+ H+ T{
+ m# g0 S9 a4 k8 M var RGB = new Array;
' z* K6 ]& y: I! ?& d var tempSting=colorString.substring(4,colorString.length-1);
6 i- ?; f5 u& v5 a, O& o var tempArray=tempSting.split(",");
3 ~0 x# Y) q6 o2 E* K# @. |' N; `' k w$ V" P) ^- |8 u7 M
RGB[0]=parseInt(tempArray[0]);
4 y4 M* N- [) O' e3 i8 _( E& B( {2 } RGB[1]=parseInt(tempArray[1]);
$ j Z H- t7 [' l; z RGB[2]=parseInt(tempArray[2]);
% r- C+ g$ u: U9 f 0 j9 S0 e$ f1 d$ Z; H. N
return RGB;
) W0 a1 P" f) @2 Y}
, p8 p6 e1 D- f" I; N" a9 mfunction keys(evt) ( R" j# }! U. ^) f7 s
{
% j" ^& \' L7 m! c# ]) f if(evt.ctrlKey && evt.keyCode=="81")
% V3 k' k/ H9 b0 s$ R { 3 L4 _8 b. l2 T4 O
CleanHideObj.on(0,1);, G4 h9 J6 f" s8 _- u( h% p2 ]) W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, ^. e6 W) }9 j! u6 K" K 0 m* B, ~3 D% H9 z( m# k
} 2 G) _- N y1 }# B
} 2 |0 v1 I* ^! h+ S% e% y8 e
document.addEventListener('keydown', keys, false);
# S4 m. C ?* W! vGM_registerMenuCommand ('Clean Hide',
2 @2 N& L) U: N. A! Cfunction(e){# Q' A% I! A; y: l7 P0 \; M' P" H, c
CleanHideObj.on(0,1)
( N+ t* F% p. F) A' y9 f3 lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
^- j+ |% k) \ ^});
; |) N) n( Q+ ~2 N: Y, p( o" @ |
评分
-
查看全部评分
|