|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
S: R, C& ^$ W) M! q0 O; s4 ]- X5 ^, J
; C, W! e4 b1 A( x( R火狐插件,用猴子# U# J6 ]8 o3 n$ p ^
' `) _( b7 b9 ?" i! d% }3 | xvar debug=false; 0 L$ e2 `( z0 a( F
var CleanHideObj=new CleanHideClass();' ? ~4 q2 X) T+ V9 x5 G# G
4 i; g+ Y+ a( P* C' ?3 q9 Jfunction CleanHideClass() 0 ?# i# B3 j3 j* Z
{ 8 f3 V8 u. g1 i! n( `3 v
. Z+ a; I, c/ E, j g this.on=function(id,bMZ)' R( F2 n, X8 ?
{
) p9 c6 Y% k# j5 B # e0 J0 I( [, k( `/ L8 @/ ^
if(id == 0)3 G# _$ w$ n6 b* [
{* t" ? \; u# b% x. N1 j* R% b
var page=/* document.getElementById("content").contentDocument */document;
$ R1 R, M; b: y this.RemoveHide(page,"span");
. l' g/ `4 F& e) o3 X this.RemoveHide(page,"font");- o- w9 T6 d" V9 M4 ?# ^0 s3 w
this.RemoveHide(page,"div");: B( I( s- w0 h- d
this.RemoveHide(page,"p");
) E; y# a" N# M+ @& o6 \
" ?7 {# {% _0 g8 ~# E }% S `5 B/ i' D1 ]1 m$ }
2 s& s, A0 Y5 H
}$ x+ f- T4 S9 V' N) l1 p
this.getobjstyle=function(node,prop)- ^* q/ q ~! C9 t4 ?
{- p( X$ L/ E4 K; [# B1 `+ F% F. }9 J
try1 K2 i& N% [2 [8 |5 @* k
{
1 G8 M$ }5 ^* D' \( J$ m7 m2 W; O return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- o; k. G$ w5 i! v r: y9 r9 L/ ^ }9 q" i$ Z3 q# @( Z+ h5 ~3 F
catch(e)! J* V* y% X8 H& K2 h
{
. o) s7 Y5 F* ^) g- B: f- h& s+ y* r if(debug)% `6 h3 m- d+ Q0 ^$ B
{" d" d. d7 w. m& D& d- S `0 V% q
alert(e.message);
. f8 ^/ B: [; j9 n }8 w" d& d7 v0 a: z2 h, m
4 u6 b( h3 `8 U% ]- [' g. n4 E
return "200";
! ] }+ a n% { }
2 ~ ^4 H9 q- ?! K3 S w }/ m; m: a: d) A6 P% w4 q
2 C" z4 J% d* }$ }/ V
this.RemoveHide=function(page,objname), F9 J. g) }: r, C
{7 i9 ~& C" @7 T/ G
try
2 D/ o8 E C% Q1 e2 L# Q+ \ {
0 O: x* l6 I8 D2 e, F var minValue=15;' w5 `- ^' U+ W* J9 F* G
var objs=page.getElementsByTagName(objname); " L& K# V- h' |0 F- o
3 Q! l1 \ I" k2 q/ d if(objs.length == 0)
2 s. G, R& D) N2 R* @8 w {
# ` r& s, c! U6 b+ j if(debug)8 f( N Z6 J& h
{! t' |0 {7 a1 O" l- I6 a* \& v- Q
alert("no object found!:"+objname);2 B& `0 U+ s( y6 t' G! F0 o, B! @2 e
}
+ m6 U! Z( H5 k6 b }2 |% a7 T8 o4 J( R
else
4 q. Q" a4 W( v" N& J2 d {0 ~, M$ r, n4 h9 h: D
% D* N: t# O& x6 B6 M for(var i=objs.length-1;i>=0;i--)
# O5 n9 {! D8 ?6 F% U! ?& C6 d {
. W. Y7 V4 O8 `4 D+ P C9 O& h1 e+ S var node=objs.item(i);
; }5 j8 l( l) g O% G& B4 p( z1 L 0 j$ I9 E/ |4 T* r" H
# r& B) x; w+ H" X$ Q0 w C# h, n! G if(this.getobjstyle(node,"display") == "none" ||% V( v- Q9 I% v$ f& _
this.getobjstyle(node,"visibility") =="hidden" ||* y( n& ]. U7 W2 @' d
parseInt(this.getobjstyle(node,"font-size")) == 0) * _) Z; N5 G& I* L C
{
$ o) c: Z# Q+ v7 U& j0 f if(debug)
6 p; _' r2 A$ {" |- c/ C: ]) k$ R {
. ]( ], O) \) F& e; ~! R$ ?. a8 M alert("remove invisiable!");
3 j# k8 z! v7 h9 w }
( e0 H! D. \4 _# _, N* L node.parentNode.removeChild(node);
# w. A; ]% \- H5 d: z$ P: k ; B: L/ W1 f( ?6 L( |/ d
}) _* F, D. n O4 B! v; E
else
0 q/ J* b) z6 }6 l: P! A2 d1 y& y- Q {( h* F8 R) `$ E; ] q5 g
if(node.parentNode) ' Q: S' k- n1 c0 Y; t3 I7 S
{! z; I. R4 i0 E5 [- Z; F/ U+ e
var orgNode=node;7 r, n0 I) \6 A+ b: j
var orgColor=this.getobjstyle(orgNode,"color")$ b. Q% `( ]1 p
var orgRGB=getRGB(orgColor);
, C6 ]/ d# C8 w% ~
0 o9 g( I A3 N# x' h( I5 ]/ } var parentNode=node.parentNode
f& T1 a" s7 x% k) U var parentBgColor=this.getobjstyle(parentNode,"background-color");
( W' R0 O# s1 m8 W% j/ I" K
5 j: d& c, {1 \1 c, `) S. n! u var isLast=false;& G6 W4 A" M( d7 i% r9 |
7 c0 X* E6 v* H2 I2 T8 d while(parentBgColor == "transparent") . W, @: D5 m4 Y- r# X) P
{
* j; y- e# O0 ?) [" ]6 `% |
2 j; {" z4 S0 C" H ; A; I6 z) d; [! t
if(parentNode.parentNode == null); C% A7 ~0 L; w; [% ?0 E- X' Y4 v
{
; o. F# e$ R6 u& w+ l# F isLast=true;% R8 E( ]5 M* g1 o
break;+ C6 h: E( X9 C' m3 H
}7 h$ ?9 W) m" F6 s5 O
parentNode=parentNode.parentNode;
( y) M2 j2 T% |* v( d parentBgColor=this.getobjstyle(parentNode,"background-color");
4 _" z# O# M- w
N* v" l/ N4 t. x( ^! @ if(parentBgColor != "transparent")
: _2 u& o4 ^% s U6 l, n {6 \4 L. d+ z+ }. H M) p
break;( {; S6 {' @2 b0 h, L
}
* ~0 B# Y' h2 S( P- Z7 { l! n' n' M }5 {: j6 o4 Q# D; h0 @
if(isLast) " l# F% r+ E& N2 q; S
{4 |/ D9 i" W6 G; `* S
if(debug)
. d! S4 q% Y* U/ V$ {! g- x {( x( n* U& c! {2 @0 _. o
alert("last!!");5 v+ }/ z B4 r8 k4 {
}' S. U5 U7 l4 x) B" q4 \8 u, |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
K9 p8 \5 V" W Q0 S& ` {
( F6 c# s' t! s6 L n9 c orgNode.parentNode.removeChild(orgNode); 2 V- Q: J$ t1 j( K4 m( {% x
}
& N8 W6 o$ h; e }
n: q# `( d( H( l- E else
* s. _$ ^) {$ T B( X {
2 C# A6 H- M: g if(debug) x5 T1 Z6 v4 `+ b
{. e' f8 m/ _. P
alert("compare color and parent bgcolor!");
( k; u1 }+ A7 U/ @, ^7 C- y }: a! y; t. {3 a0 l# f1 T7 a
parentBgRGB=getRGB(parentBgColor);
) w5 l2 Z5 s* k5 l2 U7 k( X, y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& z; X& M; [4 z: k+ W M {
% K# e+ T" P/ n% ~5 y$ o$ [* Y orgNode.parentNode.removeChild(orgNode); # B- V" V; B) k$ f; S$ }" K
}2 `2 w" ^ m" F4 f; b& ]
}
' ^6 \ I- q* u$ r0 H }' {0 ?/ R. L2 e5 ~7 O2 L. Z
}( S8 B! G2 n% v$ Y W( y
}
" z1 c) n# B5 _9 \8 }: l. j }+ N& w: }6 x$ G' \$ f% H' j1 F* d
. ]$ R) |* W: |8 V8 y) C1 }
8 p6 v& T6 k; B/ } var itemFrames = page.getElementsByTagName("frame");. E f# c5 R. P/ `
var itemiFrames = page.getElementsByTagName("iframe");5 p% J8 a& b3 _6 z Z2 [# S8 P% T
; Z6 W% y2 g! B% L( F
var frame, iframe;
# h D2 n2 S8 d& v! d if (itemFrames.length > 0)
$ O3 e c4 N$ `# n {+ ]0 M, n) H t; F4 b) S3 n0 ~ Q
for (var i = 0 ; i< itemFrames.length ; i++) % l4 Z) O3 k; ^% n! ?
{
/ A& k; M1 V# F* F8 m frame = itemFrames.contentDocument;
9 [; y4 S' i+ ~# f/ B this.RemoveHide(frame,objname);
2 q& j! T, x+ R0 c6 e: h }8 W/ k! ^) M0 {( b
}; F4 L0 B7 a$ v' c( t. [# ]5 a
if (itemiFrames.length > 0)- r# Z5 ` P) w& {% R! e# l
{
5 I2 v8 E! u% I6 \ for (var i = 0 ; i < itemiFrames.length ; i++) ; B5 I: F3 W' c& Q+ m' e, G
{# [3 }9 R- L7 D1 U
iframe = itemiFrames.contentDocument;( L \7 R) n" n6 ^% {& z }
this.RemoveHide(iframe,objname); , R. [- @9 x$ b( V
}
. H( D* e: f9 d( B1 f. u- L! n* j5 { }
b* x' H. N @5 N+ P+ M" b }
0 q- R% G0 `4 h% p catch(e)
* N+ J8 \' k; ]7 g {6 v# M8 Y9 a* `9 s' P
if(debug)0 x# H4 z1 j5 R v7 y
{0 F' s5 L5 o: B3 ?- O5 r
alert(e.message);: P4 I/ M" R# {0 e5 B9 s3 m
}8 Z" e6 H- U7 j& @
}$ ]+ q h+ p* Y) L# o0 L
}7 z& S% O$ e9 N8 y, @
6 k4 u' L9 t3 s0 ~% e
}
2 K: @; r ^" @7 ^9 ?9 [
( P! r& L; l% E( M3 ^) \function getRGB(colorString)
* d9 e8 U7 Q9 @2 g* n7 G{% i4 F' z9 h. \, Q
var RGB = new Array;
$ U; u4 s( p& ? var tempSting=colorString.substring(4,colorString.length-1);* H% v# p' n% v1 @ ?+ m
var tempArray=tempSting.split(",");5 B s O4 \$ x2 Q: d0 u
# |, n5 y4 W1 y/ t/ c
RGB[0]=parseInt(tempArray[0]);
& b8 n9 d6 V. n: ~/ m) L6 Q2 D" F RGB[1]=parseInt(tempArray[1]);6 A9 ~# v4 N7 z$ @+ f/ V; g4 T4 H
RGB[2]=parseInt(tempArray[2]);
: J2 ]2 W8 @; R7 G* t6 T p' a6 t) Y% k" H
return RGB;! C/ D9 N! _* k6 \" z
}1 ~, N6 ^7 J* b: ~# L
function keys(evt)
% X2 ~/ n' q* r& k' a { / R9 |: Q, `1 B" T) i3 r, |
if(evt.ctrlKey && evt.keyCode=="81")
, U. f8 c5 r: [! P; n5 l {
/ V& |) W0 f' N9 ^ CleanHideObj.on(0,1);7 m. F( w; F$ _7 ?. r- n, [
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % q, w. j* Z, z. Q! i. Q! Q
. I# X3 H8 u3 ^
}
5 \+ \1 k) Z/ o# u! P } 6 n; W) \8 Z0 c; m, l
document.addEventListener('keydown', keys, false);
+ I' r# u8 H. f3 m/ r* V) iGM_registerMenuCommand ('Clean Hide',
C9 c) s4 d& V N0 Cfunction(e){) z( L9 G' r3 a9 d
CleanHideObj.on(0,1)
2 P+ ]1 j! T- c/ _& {6 balert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 r1 E+ R$ h- J6 x6 ]- b7 A});
# f4 C7 P' T- u: o' m9 ?* E0 } |
评分
-
查看全部评分
|