|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, {4 E5 _" `5 f/ l1 s- o3 H) [" T: g
火狐插件,用猴子. d% H9 L: _& _1 S+ ]# W
. `7 u8 W: Z" @/ svar debug=false; " x1 g8 O+ e) s. l$ ?' n
var CleanHideObj=new CleanHideClass();! W% q. ~) U, p
3 V# Z( n# D8 G. e2 e1 L( w8 kfunction CleanHideClass() # Q" @6 t& y; I( [( z+ d$ Z7 t
{ " U* e# _* P) W( J( X8 D
6 {' M+ {- n: b3 k7 P
this.on=function(id,bMZ)
& o5 u5 W/ ^2 P+ k Q$ q0 \ {) r' |* Z- ~4 E- Z) x# ~$ \
+ X9 Z8 O0 s1 r* M if(id == 0), U# d8 }6 p5 @2 y9 {9 h% ]
{
y9 s3 a# c# w1 g var page=/* document.getElementById("content").contentDocument */document; 5 ^: T+ D0 |, d- Z4 |
this.RemoveHide(page,"span");9 g# w$ j% Y- s: }
this.RemoveHide(page,"font");
# r" `. j# f" o8 f+ e$ L this.RemoveHide(page,"div");' P2 k5 r' A' Q* L
this.RemoveHide(page,"p");; k9 M0 n/ ?0 w: D, M) q
6 u& v L. R$ y8 X% }' @" E }6 @- a) U6 P8 \9 O8 ~
5 S( m6 S( t% j
}% `" Q3 t% i% V
this.getobjstyle=function(node,prop)
3 S& _: U T% w# Y6 e {1 C$ ~7 m) H3 I" A* V7 o
try0 g7 x& w1 P6 X0 o8 x' Z0 z. N# ~
{
8 @# O( V7 B8 `( C# \6 w return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
X3 y. H4 d( h5 w g }
% ?7 v0 F0 H9 @. n catch(e)9 D8 R3 m5 b' [2 K
{& y5 P; P2 X* Y2 S* s1 n
if(debug)
* i$ V6 H* m( y# t {) c6 k n) Z: Y* Q2 I5 K
alert(e.message);
# `+ { r& L1 ^ }3 h/ G; w/ c U3 {
2 `& @7 |3 P$ o- h; p* j/ U9 K- B' l return "200";0 z, t3 n9 p# @! g
}
8 h0 U. D: e6 ]) j) c& u }+ D! X( U% \/ E6 k' b$ U* s! w
" S. E2 Q! B! R- @' q' R this.RemoveHide=function(page,objname)1 I5 d8 k# k* m4 X. f
{
& |; S2 p& c/ n% F7 _ try
* V* m6 ~$ X5 z7 {' J {! E3 n! h4 Q. R a
var minValue=15;
; o0 e& [, s, ~0 A6 d. U2 T; U8 y var objs=page.getElementsByTagName(objname); 9 M: {/ b. [- ]& i7 }! e1 P0 D- ~
7 c7 _+ H- X) t; G# x$ \3 O6 w if(objs.length == 0) - d4 v! N- e0 _3 E
{
! s4 ?; T' w: f9 x+ w5 L" L if(debug)
Z3 g9 A0 [% O8 j; F( \# L1 R {
* h0 k5 l/ v' a/ G' W! H alert("no object found!:"+objname);. j5 n% [$ r& Z; e/ b q, f6 U% k
}6 a5 G, y# F! W: J5 P. b( [; U
}( S4 {' U0 |/ C
else
2 P$ m3 O( E( s1 t; a! S {# f; ^6 Z1 u, h2 o
, N4 w6 N; b8 c f9 W; Y9 L
for(var i=objs.length-1;i>=0;i--) ( x/ ]; p3 K4 l8 O! |# h5 M0 a, z
{
, y8 V2 ?2 E& q, M( }4 G2 x var node=objs.item(i); 1 N6 w$ p8 [9 G4 t6 d5 N
4 U! Q, E9 [3 m) O
! W8 D9 a8 z" C1 W* v& w' U if(this.getobjstyle(node,"display") == "none" ||- t+ [, C. t. L- [
this.getobjstyle(node,"visibility") =="hidden" ||: m3 f# {) v3 n! b
parseInt(this.getobjstyle(node,"font-size")) == 0)
: y9 U7 |8 Q5 p) d {; w& N3 ~0 e" S* L; B7 _
if(debug)$ g) f8 ]% b5 b# B
{* J+ x0 @+ G3 T
alert("remove invisiable!");
. h: g8 T" g3 P$ W4 a }: l- Z9 ~# F/ e2 k' y
node.parentNode.removeChild(node);
! R$ K/ `1 m3 U, ?$ q7 a
- ]6 u* R e2 b- M/ a# p% v" _ }. }" \" _7 C4 F; x" i7 l7 f
else
; H& x4 c& a+ Q {- E2 U2 A- s, Q2 l
if(node.parentNode)
`8 g4 Z" ]5 E, | {: S j6 T8 \3 F% u% ~2 }
var orgNode=node;
" o8 z3 g- k6 t7 Q var orgColor=this.getobjstyle(orgNode,"color")9 C1 A: V- ?$ c4 s1 e6 v1 f6 E
var orgRGB=getRGB(orgColor);
2 b3 ~$ o( J) S9 ~% b7 ~& L
/ `: p0 ]5 U. z9 r var parentNode=node.parentNode7 `8 ], F; ]6 O7 p6 Y2 F( Q
var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 Y- o& s, \2 G* f$ A5 U. g ( \$ z4 _% g6 d' p7 g
var isLast=false;; c2 u6 X4 B- w! y$ G0 I8 q
' D. g: S# ?3 I8 K1 S
while(parentBgColor == "transparent") " |2 `9 C" W) w
{2 |2 Y4 f" t7 i# f7 [
2 Z0 Q% f5 N( a % _. q8 J! I5 D7 V; c: k# j
if(parentNode.parentNode == null)
5 ~7 X. j% d* o- G4 N9 ?( M {
7 _5 B9 `" [0 C& }" W isLast=true;
- c8 n* P6 j, x break;; Y( K( _5 ^: O% J
}$ q# }% p, P% h+ l% L
parentNode=parentNode.parentNode;
' d- P( k- c! W+ F; |; ^5 _ parentBgColor=this.getobjstyle(parentNode,"background-color");4 b/ e0 U9 e$ s% X/ E
! M7 q; ?0 _. e; K. ?
if(parentBgColor != "transparent") 1 {9 L1 W: e& T- R9 j
{4 o/ p! i2 @! J s- i) O
break;6 `( r: v2 G1 f3 U. G% t$ u; p' |
}
/ v q* R. d* J) K1 y- B1 V2 A }
; t$ U) H' r4 r$ T0 d5 F if(isLast) ; z. x# S: `- U5 q2 n' e% z
{) ^5 a+ V' ^; ?$ u
if(debug)
8 y( v' S) Z+ a' |4 _- z# R {
4 t$ i# b$ ~1 Z" u% m alert("last!!");
% \3 E2 y0 Q; H }
$ G6 O, V' e, X ]/ M4 q+ Z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 \6 P1 ^4 n! ~, t( _3 m/ |( n {$ L! l: X, l' h0 b2 x4 h
orgNode.parentNode.removeChild(orgNode);
: |) e8 T) t3 ^) w- R6 [* X }
* ` _0 n6 f8 g1 {" w' P }2 Q z; s- d$ P+ H5 o7 e
else
+ i8 {" y6 e4 Z3 ~: A {
# ]# P- F6 y, C; ~ O( m if(debug)- s- r: W7 i p8 o
{
3 M; [4 h3 b0 w7 E; D, t alert("compare color and parent bgcolor!");4 X6 |! G) M+ [9 Q3 z( ?
}$ Y4 n, K9 x. G/ Z
parentBgRGB=getRGB(parentBgColor);* c( L% J' Y8 X# X& s
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
o/ m2 O5 m/ X { w3 s. P( |1 ?
orgNode.parentNode.removeChild(orgNode); - L4 f1 P7 X1 y+ Y) }6 T
}
9 P# |4 r2 N8 a/ W8 c7 s0 c/ a/ O1 f5 u }9 `, @' B: U' i. q* e
}4 G3 g, }# q u- i
}
$ k- L2 t- W, d- S s1 p }" g" u3 V/ n3 q/ W9 Y8 V
}
3 |0 l t% v% K& l) |
3 Q+ W# z3 H9 N4 @ ) Y, ] @1 `, y8 d6 Y9 k
var itemFrames = page.getElementsByTagName("frame"); l' d" C* i" `/ C
var itemiFrames = page.getElementsByTagName("iframe");
5 A" x1 O. l: J7 x3 { 4 `- a0 _ m" ` }* i% c. L9 ~
var frame, iframe;
- y7 Y! q: X1 h$ {4 v6 P+ v! ? if (itemFrames.length > 0)
7 g. n8 b3 C+ j, r {+ K* v) \/ X" l' z
for (var i = 0 ; i< itemFrames.length ; i++)
+ H( M7 Z* C) Y( d. [' U {
: s: e$ y* I+ ^( [ frame = itemFrames.contentDocument;) w* n/ V8 j: I1 H! i
this.RemoveHide(frame,objname);
/ {' u2 G% y- V. K+ r }3 I k; P+ Z5 D$ c \1 w# q
}3 s s U; B) `/ Y3 x0 k, u
if (itemiFrames.length > 0)
! U! I* H- Q, i {
" S7 \/ b) f% k8 ? for (var i = 0 ; i < itemiFrames.length ; i++) 0 D4 U! x# i* D; v+ Q/ E" t+ ~; I ~
{
1 t. N6 R) Q- T4 S; w iframe = itemiFrames.contentDocument; `4 h- e/ @+ H# _8 [; l. X9 H: m, T
this.RemoveHide(iframe,objname);
8 i2 m3 [& \% h' _% p }; _) H. \) I9 {9 i7 s
}1 h. ]" R6 Q1 o" T- C; u
}1 q* x( |) ~1 x6 ~) s/ Y
catch(e)$ w) F& O( Q* w" M9 M
{
& Q) B6 r( W# D1 j i) a: j$ x if(debug)2 G# V. Q8 B- p
{
9 x/ `, C# S! S. ^ alert(e.message);
0 e' Z& b1 L. z }2 j, R' K5 [) ~( A7 I
}$ N3 p& U5 [) A6 A) W4 J
}
- w0 ~5 F6 x. R
( M+ ^. s% K; c9 P; ~8 D5 x r9 p9 k}
- M/ c3 P }" a8 D) @5 d8 @" M' Z H# s4 n$ ]# l
function getRGB(colorString)
6 ~4 L# \/ u9 _{4 x$ z/ i" p$ ?: S7 u( x4 p' G
var RGB = new Array;2 K% z' h" g: u* C
var tempSting=colorString.substring(4,colorString.length-1);
) Z1 Y3 Z- E8 L- [- }. j var tempArray=tempSting.split(",");: z" J( ]- F- @0 w0 B
$ k; ~+ }4 ?8 B3 V RGB[0]=parseInt(tempArray[0]);
7 U7 ~5 Q& |6 U9 N/ P, }4 k RGB[1]=parseInt(tempArray[1]);
! R3 V4 M9 U' A# k RGB[2]=parseInt(tempArray[2]);' U# d4 h; l6 i$ `0 N- f
" S" g6 }. n$ d' R% b4 m( B
return RGB;
+ @& h7 C' j; p" m) q* f}; c6 l4 j: p! Z$ y- I ?! r/ N# R
function keys(evt) 3 C. B' C- i; [% w
{ 9 g# L# U! X- }& e2 S# S% e
if(evt.ctrlKey && evt.keyCode=="81") 1 Y1 t8 j; u. M' B; J. o
{ & X4 K1 x! c7 ~) G# e) u
CleanHideObj.on(0,1);
" E4 X1 D- b8 s8 x t alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 m! |/ ?$ f! a% G1 @# h
- \9 ^; {$ A7 a0 u* u }
* W! I; H) T; D+ z+ ^. F6 f }
& j' Y# ~: \, ~. Gdocument.addEventListener('keydown', keys, false);
3 J5 v) N1 M: ~( I( R# [GM_registerMenuCommand ('Clean Hide',
! s: T) M/ K1 O9 K9 s( afunction(e){3 v! T4 E4 P4 n) N. v
CleanHideObj.on(0,1)% ?! ^7 O' g9 v0 |
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( B6 r0 h, y) N* \/ K' x, H' D: p5 h
}); G( h' ~/ t/ u2 d
|
评分
-
查看全部评分
|