|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* I" s# U2 u1 F$ B4 N9 R. L3 P4 ~: }1 e! H
火狐插件,用猴子2 O- e$ ~. R* G- V V3 C
; O2 n3 F% C& [! M# X1 c0 L; F4 X' T9 Jvar debug=false;
3 H( j# I1 }. _* evar CleanHideObj=new CleanHideClass();
3 X+ |$ b' @; B `0 x) c! I' _. g- z/ ^
function CleanHideClass()
% S3 N! o* m; s+ j- k2 H{ 6 E6 B% M+ ?3 r9 L+ u+ u3 X
. S T( y# y) q/ ^8 T! z6 P. D this.on=function(id,bMZ)# `" N& F) m; a
{7 h9 l& L N0 @
% Q: b6 R; N% Q; S$ P% o. O if(id == 0)
$ e4 T7 [# m0 p, I6 x {
' e$ k% J0 R% p: G/ Q, S var page=/* document.getElementById("content").contentDocument */document;
$ N% W3 S( r8 H this.RemoveHide(page,"span");
" i" f! w5 z' c3 Q2 S; S' C$ B1 c this.RemoveHide(page,"font");
) ~5 O0 ~5 K2 n. o9 q this.RemoveHide(page,"div");/ z6 U6 X+ ^' }" ]4 b* s+ ?
this.RemoveHide(page,"p");
" @) |) H/ I6 G, ]1 F' P& V $ {) b3 O! ~% q6 v
}
. u+ a2 R/ h$ ?. K8 l
% `- ?: f! r5 o2 j; i1 X |: u* S }
3 X1 I& l) m/ { this.getobjstyle=function(node,prop)
$ g1 o: _% L N# K" g6 @2 u {5 \; ]9 m# b: N5 G9 W
try) j e0 w: u7 U) w; h7 D
{/ ~5 q2 U, K1 R! S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 ^6 d( d. h; k+ J3 Y
}3 b! {; P2 J2 o5 c* H* d, s2 y
catch(e)
5 h9 g- p& i1 L# a: B" @* S2 l" Z3 t# w {# X4 _- N% L1 q8 ]' C! R
if(debug)
# I. z; e. W4 m( O) w, T {
' n7 d# O7 [7 ~9 c alert(e.message);, _3 {/ u! K$ ~, c1 h/ w7 }
}8 F8 N+ `. L1 S
. @4 _( M& F T. P9 L return "200";( I" G; d1 i8 h& e
}/ K* A0 x% E. S; @- v5 V* a
}. B. i7 C! P/ `+ G+ L* d5 q
F, c. {6 ^3 V7 s1 [ this.RemoveHide=function(page,objname)
8 i# K5 w! j" A1 A$ D, d. M {% l6 Q) ^4 j* z2 j; N( {) e* `
try
+ M) x6 G, v- C& W0 M {; r: V5 w3 b$ I( B8 _) I8 Z
var minValue=15;
K& g6 c& ?5 [9 j var objs=page.getElementsByTagName(objname); , Y+ W- F$ y0 ]* P3 y9 `
- J# J# T+ P( H$ Y if(objs.length == 0)
! `0 O/ l- ]8 k T3 T0 k4 D( u {
( \# \- L9 R; R- a. t if(debug)8 t; m, M I5 L$ T4 _8 A
{ M( z; u9 Z) H6 `
alert("no object found!:"+objname);# f7 y6 h* K& f
}" j: h- x; U) P' @* R
}8 L4 h9 | a' k( Q8 @. n
else
7 [0 U( M2 O+ v4 m {1 t. O: r' }+ D0 \
" v- T, {1 t) x3 R ? for(var i=objs.length-1;i>=0;i--) . T* ]6 f: o1 E5 \5 C, ?
{
/ u2 X! s: I/ L$ Q var node=objs.item(i); # O, I& p) }& \8 c
$ e! L1 ]& K4 R0 W* B: c
4 C- r1 l6 Z, P T- a7 w if(this.getobjstyle(node,"display") == "none" ||, h6 C, P4 `" _% r* C, v( b0 O9 J
this.getobjstyle(node,"visibility") =="hidden" ||) y' N, Y* Q4 D6 S1 Z& s' M
parseInt(this.getobjstyle(node,"font-size")) == 0) 0 D! j1 p8 |5 {: h0 U9 _
{/ |* r0 H% v6 P; _! R
if(debug)3 `" F. W! x4 Q
{/ @7 o% ~8 O: _. m, Y4 S
alert("remove invisiable!");
( P" O+ {1 U* i; x }9 W2 v7 r R# \. Q3 N
node.parentNode.removeChild(node);9 X# l9 A1 b; z# Z$ S
% E2 [" K q, a4 i2 R+ j L' ?( f8 J2 q }
0 z5 ?! G, v6 ?& U# s else
1 m7 u& j) z- ]9 l! M {5 p8 ^: k$ O- q2 S
if(node.parentNode)
1 B! x2 u7 [/ R% V) { {1 Y: ]7 l# q# `6 P& H
var orgNode=node; z; i4 t4 l/ {
var orgColor=this.getobjstyle(orgNode,"color")2 C6 ~0 ^) u% }( S9 E9 s- F
var orgRGB=getRGB(orgColor);
+ e) A2 t/ I4 j
% F8 J% p! u7 t; @# N var parentNode=node.parentNode
7 L& l1 l& A n* `7 k( ~ var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 A; U( G& z6 C" |
0 D9 L, Q8 s/ q$ A% P- { var isLast=false;1 |( x. `0 d' o
* d( x9 H' B. J. J! K4 d/ Z
while(parentBgColor == "transparent")
1 u* P7 C, S! {; ?, q& Y# o* b0 X {* ]; E5 v t3 e9 @4 ?6 `) Z" P
5 F0 ?0 C1 ^/ s. t5 n3 F4 @
" k; C6 y7 J7 M v ^* I if(parentNode.parentNode == null). _' [4 B# q, ^0 J
{
) B7 G r! x$ q' o isLast=true;' z" C5 r t4 e
break;. B7 K: U/ Z* W
}4 X% E5 E& ~% i# a O& j/ o
parentNode=parentNode.parentNode; X2 E) r P7 j: p, }# W; N2 _
parentBgColor=this.getobjstyle(parentNode,"background-color");
; B3 C, l$ y( J# S
/ ]- w5 X' r8 R% A2 e7 y1 y" D$ [, g% V if(parentBgColor != "transparent")
6 r2 [ H9 q* V$ h. W$ i {, q' _6 C; H. E* B
break;: L! }9 u* n$ a0 t: E2 Z
}
+ _; c9 H5 m: m }' N) T- c, c- g) v/ S
if(isLast)
$ ]& A6 f h6 [. B; u5 R% ` {7 E9 B' o$ b" l, [0 N
if(debug)
2 c7 z1 v: T& x/ K9 C+ n" r+ Q {
9 K: s6 O) t# `" e* n) B alert("last!!");5 G( f- O5 O4 w
}
( F* |! S! l+ }- c7 L1 f a if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# w$ H% K% v0 y/ Q/ S0 i {+ \( @ ?; T3 [, ^- Y
orgNode.parentNode.removeChild(orgNode);
* n0 n- R0 F$ o3 f* f9 x" }' y }' z5 S# w4 b. ^' {8 r1 y
}- b; G$ B* ] B, L0 Y
else
* I( P5 V! Y5 ~7 R+ r" ` e {
" E1 X, l5 |: A( }) R* S if(debug)
d. H. Q4 A) {' _ {
" Q9 K9 g9 z% q( A& c alert("compare color and parent bgcolor!");5 v& n* F) L! M3 Y/ D
}
/ V0 Z7 m' R7 R# t parentBgRGB=getRGB(parentBgColor);
9 d& J+ r6 u. }. i, G if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 g! J/ l, I' H% B, M& h' B5 v6 E
{
. {# k3 \" n8 e orgNode.parentNode.removeChild(orgNode); 7 m9 j4 o8 t" E. ]
}# `' x3 {. m) ~% N8 ~5 }' F, h
}
. f; } k0 m& \8 A. P }( k5 [. b, w1 k* f4 ]8 y* F3 @, B+ u
}2 o' H# M8 g5 r5 s ~
}
/ o1 C7 v: Y6 Z# c8 f4 b8 F& H }
' K/ P/ T- ^5 N4 `+ j' F * `5 L" n, B Q1 A' d% I- U
9 y O3 E: o1 B var itemFrames = page.getElementsByTagName("frame");5 L1 e6 _! U( }4 l: E/ w9 t
var itemiFrames = page.getElementsByTagName("iframe");$ c/ m t9 _$ |8 G3 k% Q7 S. I
/ j( j2 E6 O* z var frame, iframe;
7 T7 i0 y3 q1 j5 A4 L& e if (itemFrames.length > 0)/ b- b" K, s2 T( d
{ \5 `# d1 }, k4 i
for (var i = 0 ; i< itemFrames.length ; i++) 7 ?; M6 Z( o6 N) U7 P
{2 i5 Z4 R% }! W2 c/ I Y7 F# H
frame = itemFrames.contentDocument;3 C) c5 j( m* a0 t( F: k
this.RemoveHide(frame,objname);
, s# b* B9 ~9 U8 _' R }; T0 T4 F* v7 y* ?. V
}
6 V& p8 A# m: k if (itemiFrames.length > 0)
6 ~/ H6 [: I6 M8 d& r1 b6 Q( B {
; y% r7 Q" K) `$ I for (var i = 0 ; i < itemiFrames.length ; i++)
$ ], t+ t: I4 X: c {
% {) _% O& O9 C/ L( G5 N$ D iframe = itemiFrames.contentDocument;8 E) Y% D% `# D5 o, X) T6 U
this.RemoveHide(iframe,objname); ( L5 V' `5 n' C0 S% e/ E
}: \6 p$ c/ o* ^# n& w
}
; b/ i' \" |$ O7 `1 u) z6 i }3 F) L. M5 a' J. q. c0 Y3 ]
catch(e)8 G$ H9 ?' \0 R/ N9 U
{! B2 L4 v/ W, }- I$ \8 t. C
if(debug)
% k8 l5 y0 R' W' N! i3 B6 _ {
3 C4 u/ n- Z& b" Y- Q. J alert(e.message);
, B6 ~. \8 l; I* |( t" ^* I }# \ Y8 ~% `: t# @/ z- U
}
- G" v& J7 B9 A }
' Z( q- v0 d6 y4 G3 l* q* R7 N
* r! z$ [5 [% u4 V* d6 U& d} W. _! D/ T: W7 [ D2 [
8 A0 i% m3 o1 C- N, ~6 ~8 h4 Wfunction getRGB(colorString)0 d& h f( ?; d7 Q
{$ |4 S: b h6 o% @2 |% M5 f0 l
var RGB = new Array;
5 ^; M8 U6 ^# v( L var tempSting=colorString.substring(4,colorString.length-1);
: [; j7 Z+ D4 u var tempArray=tempSting.split(",");$ M, ? J6 E- @
( ?1 r7 p+ ], e! l3 q
RGB[0]=parseInt(tempArray[0]);- r3 M0 a9 Z$ c, i
RGB[1]=parseInt(tempArray[1]);
4 ~0 G" U+ w1 u+ V RGB[2]=parseInt(tempArray[2]);# k3 C& z. g8 \/ [- K0 T$ d
3 p/ H4 K: r7 k" Z( N
return RGB;( K* d; Q) ^* C2 f0 a2 r
}! ~2 Y8 |2 i$ }9 n9 E, w% z/ g! G1 B( f
function keys(evt)
3 f1 \& t4 F4 k a3 |2 _6 n3 [* d { & O; R- `' Y* ]9 x$ J
if(evt.ctrlKey && evt.keyCode=="81") K+ ^; ~" }: l' U+ ^% t7 U4 U8 X) ]! U
{ , ]& ?! i# |/ d) {
CleanHideObj.on(0,1);
$ U& a4 p" z1 x. Y9 ^. B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 ^5 z( ?! w9 C* p9 i) s+ D+ {& A * Y& Z9 T$ q2 ]2 Y$ D5 {6 d
}
9 m; U$ l6 M d* l( X& z } * {+ G3 f3 R( f4 m5 N
document.addEventListener('keydown', keys, false);
# y6 [. E9 m& w$ o; Y% r# }GM_registerMenuCommand ('Clean Hide',
/ q' B u+ X% o U) @$ Z* t: qfunction(e){
( a, g6 A2 v: z8 {9 P& Y wCleanHideObj.on(0,1)
9 P% U$ c" f: V# {; R: U1 \3 nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 e% e" e. g+ K. ~: O});
# E% U6 l, r; J5 g |
评分
-
查看全部评分
|