|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 K6 r2 `( Z% j% m, x, z
; Q' p, @2 @+ ? x, j6 T& n* I火狐插件,用猴子
6 R' L0 n# t% v0 n5 V% h3 F: z
$ H. f- F7 u: O4 w* T% P# y |var debug=false;
, Q& {6 E; w t9 C* k: w& A9 Qvar CleanHideObj=new CleanHideClass();1 {0 r9 I Q' V D0 H- Y
9 [; Z9 L8 I2 o/ u# P. k5 Jfunction CleanHideClass() : r/ u9 z& B, Z/ o* m' E4 a* E
{ . ^" v9 s1 T# f3 \; U9 G% X. E! h
( ~0 m( Z8 `5 S6 ~3 E+ Q this.on=function(id,bMZ), g+ c% k' y; {6 h# n
{
* a6 Y! m8 B! O2 K. v |+ U3 |
* P/ f0 T) O6 V2 r$ r# P# h# } if(id == 0)
* T X- v. N ]" f( C {
8 N% @$ ]" k: N& U& u var page=/* document.getElementById("content").contentDocument */document; , q: Q. H* k% \7 C, o0 ^( ^! Z$ [
this.RemoveHide(page,"span");! p7 y( N7 b+ T* u6 B
this.RemoveHide(page,"font");
7 v5 q( |/ G% m. X this.RemoveHide(page,"div");
5 B3 x/ h3 l' e% `2 D6 |3 M this.RemoveHide(page,"p");
_4 N) Z4 ?$ p; ~& b2 Z9 j
1 V3 l+ s5 B @0 ^ }! @5 I2 P( `: J: ?2 P p
/ M* H+ v* ?8 v& o/ n }
% h& J6 y9 [/ i1 A, X& s2 t2 u this.getobjstyle=function(node,prop)
2 V" f' l/ e7 x# |. r _ {
8 L6 R( k% `$ ~) h try
4 g* Z8 \9 c' g k4 U {3 V9 `8 g! ?" n! |! ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ t: T( U" V0 w. c9 O }- `! ^! j8 U0 g" j. f) B
catch(e)
+ ?$ g/ K( m, w2 u& f( } {
7 W: r* }2 r* ~# U if(debug): Q$ s% Q$ }" W S
{
4 m8 y: k9 s" z( c$ c alert(e.message);
; R" \+ }" i$ ~2 \ }
" ^& h% n/ P: a: t
C- Z/ c1 K: ]3 ]9 l0 G return "200";
, I1 o0 ?1 e4 B5 E1 E; P }
! b; h: s+ }% y }) c/ K0 U! I9 M0 [7 A0 }2 O
9 l+ v" V$ i5 e. D
this.RemoveHide=function(page,objname)2 V+ u. o- s2 g2 Y6 [
{8 b+ b& E4 t) ]7 I' h: X
try. u) }4 j2 G4 l+ q2 a- e$ ]: k
{
$ }4 e G, F6 X. A var minValue=15;
$ ?5 l q7 X6 k: w/ ^ var objs=page.getElementsByTagName(objname);
/ j5 N' f; I' K2 @, x5 j3 K/ _4 E
! v) H. P2 l0 a% e: f& V/ y if(objs.length == 0)
& ~7 G: B3 L8 `, C% g {
" u9 b7 ~0 s- T3 R if(debug)
7 v4 K( F1 B; C0 Y; \+ b/ }0 V {
: h! v$ m. x: o alert("no object found!:"+objname);7 V2 v' i. W- X# ]4 {) n3 p: U
}9 Y! [ l% l% v$ e+ h
}. G9 W- `5 I* W4 Q' J
else
6 Y# k+ V0 I3 M2 ]3 Y0 J {& `# @8 R5 }; d* q
, M6 L6 ~6 D! A4 i
for(var i=objs.length-1;i>=0;i--) : A' _1 X9 |: F! m& h$ O& k
{
/ W$ n+ z* O3 n var node=objs.item(i); % j# D! H0 Z L- a. s- ^7 o& a& e. y
2 {1 [$ u5 }: m4 s: w8 [
# D, h/ J) V; h; b2 b1 c if(this.getobjstyle(node,"display") == "none" ||" S9 K7 `- V9 r7 O
this.getobjstyle(node,"visibility") =="hidden" ||
5 w. a8 C, ~( g- z3 ` parseInt(this.getobjstyle(node,"font-size")) == 0) 3 A, o" ^9 J: K n% T
{0 Z9 s1 _* [- ` S) H
if(debug)
$ {' ~" z, e# ~+ l, x/ M {# d* \& z X3 E0 ^
alert("remove invisiable!");7 m. |) _2 y9 L1 ^2 x7 H$ @
}
( e$ ?; Z' s6 y node.parentNode.removeChild(node);' s2 p9 f0 A) A7 i
5 H, ~* b. `! i+ x9 ?$ g# S5 L1 ]
}1 Y# @0 V9 U% g4 ?# j
else 2 Z% z* l5 E1 c4 q: Q# g+ e8 N
{: m2 ?! M' P3 W, m
if(node.parentNode)
% ?! F0 _7 Y- o {
1 T) }5 B: h7 E+ S' Y& p8 x var orgNode=node;; r% c }' e5 P% l
var orgColor=this.getobjstyle(orgNode,"color")
9 P8 Z- ]& ~. Q% V3 n) f var orgRGB=getRGB(orgColor);
5 X; x( T' d' |3 f( k; l5 s
3 l1 t6 m' I7 A- n1 ? var parentNode=node.parentNode
4 Z7 V) \9 ?+ c$ t* H5 _% @ }+ o var parentBgColor=this.getobjstyle(parentNode,"background-color");
% m8 B5 Q; U1 g8 H" m+ g m* R
. d& z* T. ]7 W3 w var isLast=false;
! t$ T) v; ?$ L& k' t3 E: t" T
& p1 |5 p0 x7 k2 v while(parentBgColor == "transparent")
" y! S5 R* F* I! p4 E9 _1 f {/ B( J: R- v$ e6 T# x
{( H+ a/ ^: `
' a$ C0 }5 R( z/ u4 t2 ?; ~ if(parentNode.parentNode == null)
1 w! r9 N( x3 B {
- n! J" c) T* `/ E9 z7 X0 H/ v$ N isLast=true;
$ p" c' Z; t1 ?/ E2 X: c, J break;
; L2 y+ L6 B, } A, X }( T _: \" l. L+ @: j
parentNode=parentNode.parentNode;
1 r9 {1 T0 q4 D& G# ~0 Q parentBgColor=this.getobjstyle(parentNode,"background-color");* d# r/ u, C9 c. V4 H6 s- M1 m
* q' I7 u) B& j& C if(parentBgColor != "transparent") ; D) K% I1 a# n, B
{' z# v1 F- F+ q! N
break;
5 m/ U7 ]( W$ v' l1 V }
1 E* I. H3 e: R" { }
* @0 E( P+ w. K+ K if(isLast) ( H5 K% @$ g1 Z8 ]. C5 o) Q) A
{! V% G4 o% K1 C7 i# x/ R
if(debug)
D$ @6 o. J7 I9 {# d6 |+ N6 ? {
% {- M' V+ L- w3 ]% L7 e5 `* G alert("last!!");
$ ~! u. t# \8 L" g% L }' X' C- C9 @1 b
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 R- R6 b Z! z- e5 d
{
6 ^7 W$ A6 y5 } J1 I' R$ _/ c9 K orgNode.parentNode.removeChild(orgNode); * `7 W- x ~8 N9 I8 Q/ ?
}
5 @3 P, _3 a4 T2 Z0 E, E- Q }) S) ?# e" }0 \+ V: I9 `
else0 R3 M( H* t; z4 x i* D
{
* ~ B+ t* g6 w5 q/ i5 G: q2 ] if(debug)9 I& V9 o. Y# R
{% y0 ^. E# P( U
alert("compare color and parent bgcolor!");1 z' r" a% z0 {5 Q7 T9 ~
}# l/ J# E( y$ R, o' y% {
parentBgRGB=getRGB(parentBgColor);
- M1 q- x) M! U$ F$ K% C if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* l; z& u6 U. b9 ^ t {, b+ [8 Y& g: l& I* E1 S" ~3 M
orgNode.parentNode.removeChild(orgNode); # Q9 A! H1 B: ?; n; J
}9 M- e4 [/ V, _9 q; r- _
}
0 p* ?0 M a5 v$ H7 \ }3 ]* q7 {( r0 i7 i
}2 L# R4 p7 l# k9 g# d4 ], j7 c
}
, f; |- O$ J! Z) H( ]* m }
9 I/ N* P6 f& l! u& m' E
# E. j5 J+ j ]; \
. h' i6 P1 R% M( M9 ` var itemFrames = page.getElementsByTagName("frame");
2 h- S0 E x9 x1 g6 E3 ^! g/ u, Y var itemiFrames = page.getElementsByTagName("iframe");1 M1 J! f+ r; E& @1 Z
$ B5 N. n2 L9 K' v7 u& v var frame, iframe;
* C& h: c# t: [8 Z4 Z6 p( E5 o- ]/ F if (itemFrames.length > 0)
' N9 i: S m2 R+ u* L6 A# R% t {
! H& f, [) f# U u for (var i = 0 ; i< itemFrames.length ; i++) $ `5 h$ P& i" D. g, [. r9 V2 W
{
# B o$ x! @. P7 [ frame = itemFrames.contentDocument;
9 X) ` s/ h0 l( E Y8 n this.RemoveHide(frame,objname); + _+ i2 O8 M: O8 S4 ]2 O" c: h
}
; r5 s% t; e- {) y% f* U* u; W5 B* f* C }
' O. S0 w7 `7 E( V& N4 Z; D0 } if (itemiFrames.length > 0); ^1 J6 d+ t! t) R% u
{3 k2 N/ g, q9 L) l4 C% ? }
for (var i = 0 ; i < itemiFrames.length ; i++) 2 Q- l _- j( q! c
{
! ~ s- ~5 D1 w5 F6 q$ ?2 \7 N iframe = itemiFrames.contentDocument;
! Q1 s+ k0 V" O* ]# I4 L) D this.RemoveHide(iframe,objname); " @3 N' \$ E/ e# w7 O( ]
}
' {" `/ O- ~+ V9 ]3 l' Z% L2 f }
. k) d" H" a+ j, h( J" u }
, u& y4 v* |$ l) K# C$ \ catch(e)# _# B9 _, M$ d, i6 c. ^) ~
{, W& Y: D. i5 K/ y: G3 h
if(debug)
+ [" h& _: i; _+ @, L; w+ D& K0 K {8 T# ?* b) o0 N9 M0 E# F4 s
alert(e.message);5 b9 \9 D2 M+ c. `: F2 k$ |
}# h' T/ w+ \+ c. k! E, N z0 o
}
$ L, k* a2 ?- }; T' C; a }' G! _4 o$ ~9 q$ u: P
f/ y+ t7 a L7 Z}
7 u- Z5 L7 Q+ H$ c- \" r2 R* k2 n
9 N& V" B8 l' r, O0 T+ Ffunction getRGB(colorString)* I2 u- u2 y, z+ |
{- E5 K1 G l( c8 i8 z0 Z/ c5 b
var RGB = new Array;& a( }$ G& p. X: s6 }* n+ r- [
var tempSting=colorString.substring(4,colorString.length-1);' s7 Y+ n$ W( ?& x) ?1 C* ]& j* t6 S
var tempArray=tempSting.split(","); B9 J) g% D) _+ q" S
8 a9 _7 H' r# }
RGB[0]=parseInt(tempArray[0]);
2 R% t/ x& [1 b8 Z0 t0 V ?& I RGB[1]=parseInt(tempArray[1]);0 t1 K0 K5 [( ?7 t5 h
RGB[2]=parseInt(tempArray[2]);% c1 j7 X( Q- p; Q) f
, x* M+ {: g: j
return RGB;
4 j( U; R6 w/ |. |/ B, C}0 ~2 N7 z& g6 V
function keys(evt)
$ Q/ E* c. r0 r$ R2 m7 c# Z { 4 ~2 s0 i! N5 s% H& J6 m b, v
if(evt.ctrlKey && evt.keyCode=="81") - z' A6 \2 }% f
{
& Y7 z/ ^+ y& h: [! g( L CleanHideObj.on(0,1);) L) }- z, |8 v; ^% y1 Q, W( i9 U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: _5 p9 Q8 \& | 3 M% W- o$ o/ X6 @1 k; k: i- t
}
$ x& J, [- u* \# q# Z5 d' T- j- A } 9 I$ L3 {/ H3 U& I
document.addEventListener('keydown', keys, false);
, ]# T1 |7 D5 L5 I7 i/ BGM_registerMenuCommand ('Clean Hide',0 z9 P+ n2 Y* p+ c; {/ }
function(e){
+ H% K5 \, Z1 E! Y: \CleanHideObj.on(0,1)2 R0 h- M: ?7 @ E7 G% p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* K" \ ~4 c. t) Z0 E% m$ Z2 w
});0 N& G0 `% U2 k: d8 E
|
评分
-
查看全部评分
|