|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
# X( ?4 j3 \% y( Z( N( }, G( F Y2 a9 W1 W
火狐插件,用猴子' p0 k4 K3 V- r
4 D- x# @: u% M& F( o6 a
var debug=false; * ]5 V2 G. ?3 d: Q' `) h
var CleanHideObj=new CleanHideClass();
$ C0 ?) b1 |' y0 j) H% U% b/ I& k0 f1 W) B8 l) J# s) t
function CleanHideClass() 6 d1 W8 O! m9 K% T- c7 C
{ , b, @6 r g3 t4 q, l
! @2 S7 A9 [2 V
this.on=function(id,bMZ)
9 _) r( T- L3 a& Y# R {
+ \8 V# ~/ x# Q) t7 q* W7 z
& L: q/ y* w' s if(id == 0)5 E! u! x y+ b6 G
{9 E! k0 |+ I% ^& G; [
var page=/* document.getElementById("content").contentDocument */document;
% ~3 Z5 r i5 F4 g this.RemoveHide(page,"span");
# l5 t! D Y/ F' G" v6 @ this.RemoveHide(page,"font");
" Q8 D) ^( i3 h6 h, L* M/ E- s* S _- { this.RemoveHide(page,"div");
$ `4 D F- Y# {) z4 _ this.RemoveHide(page,"p");4 o* A# k9 y$ i" p& M) X
4 N% I @9 N# u: w) Y7 K+ s) C }
, ^! @1 T a/ ] ' G! n/ \$ N2 [* l; |( p5 r' I
}: c- m6 h4 V: c, ?
this.getobjstyle=function(node,prop)
) S; D+ b) y1 B3 A {, \+ ?: g. j* k, W0 x
try' S7 L3 k1 X! I/ B
{
9 R$ E& j$ D6 K' w return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" L1 J9 z. P' G) R" O
}7 s( B, }" M$ ^7 l8 ]% [
catch(e)
3 u$ h A& N" Q- |5 t1 G/ o8 n, e {
: f$ a4 X: g/ L. [6 G4 t3 m if(debug)
% H* r: Y9 q' Q d8 ~ {
& q/ p/ p- m& k' {& e t8 B" I alert(e.message);
( I2 I d x* k' w* H. X- b }( s4 ~, R: M4 i/ k' C3 |& V
4 k: U0 u5 |$ b5 g return "200";* {% I. B# ~% W, y& w
}
$ w+ G Z2 w# A ?8 `1 S }9 M3 r% Q4 f4 S. Z& o( ^8 E
# K% @3 c3 v1 ]# F4 q& w this.RemoveHide=function(page,objname)
! m# i5 R. Z$ O3 t* x6 f3 N# E5 B {+ i @0 o( C$ k; E
try
/ ^# {9 ?0 ~9 |3 j( `' R {' v- v8 q6 ]4 _
var minValue=15;
% z6 V# i. I) m* u7 M var objs=page.getElementsByTagName(objname); - ]/ h$ y& L5 q
/ c+ P* n% z" W. x) P: l n
if(objs.length == 0)
2 o+ i5 p' K7 y' y3 Y' }! P& T {. E: D7 f9 O" U: Z3 Y* F& U. c
if(debug)
& [+ K' z3 K3 Q; r. J' j {4 _. k3 K1 p' ]
alert("no object found!:"+objname);2 q) o- ~; B8 [: d/ F/ s A
}
" v! l B6 S8 Y2 ? }( N' y3 W0 u' K4 p
else
$ \. x3 B$ I C( U t {
' Y* X' H$ ^" G- M8 Q
1 i- ~) c2 f2 B n/ J for(var i=objs.length-1;i>=0;i--) ' @) D) j n$ \: N$ v) c0 T4 T; R
{
3 ^# P: _; d5 F" f$ n0 H var node=objs.item(i); + J' j( O& u" o1 @; l% h e
! Y( N4 x: [# i3 T% R4 G" A" a
% \# {# V4 u# T9 s" `; [. Q if(this.getobjstyle(node,"display") == "none" ||
1 P+ s: H. \( m5 d8 t5 L+ e5 W this.getobjstyle(node,"visibility") =="hidden" ||* q7 Y& N# x* A" u7 Z5 T1 T- w0 E
parseInt(this.getobjstyle(node,"font-size")) == 0)
8 f0 w. J8 f: H {
: l' C5 J7 D/ h9 O if(debug)
8 {& j1 M4 H% e* G* ? {" {8 \$ m/ w9 U D2 a/ v
alert("remove invisiable!");( v, [% Z) l. {! O4 g
}
( `2 w7 U* Q6 ~. R' `9 F) O node.parentNode.removeChild(node);" g1 k7 }+ V$ w
" M a9 n \0 H& K I7 B9 D" k1 e }4 {& g5 P# L. z& w V1 ~
else
- l; L" E2 f: B+ b% ~. G. T* { w6 y {) r, y7 K) H q; b5 T7 S& b
if(node.parentNode) ( x. J" p3 \( o R1 x
{# G' ^0 J |& q7 |
var orgNode=node;
5 @' D1 S( P) \. z3 C& W5 B var orgColor=this.getobjstyle(orgNode,"color")
3 H1 E: f) ^# Q) @5 A- [ var orgRGB=getRGB(orgColor);
- @) v& `) }+ u
4 C* d9 u$ m2 T2 [9 j0 J var parentNode=node.parentNode9 O$ V) b: j3 Q( \' M: l
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ A' @7 Y3 R" Q6 R1 i$ D ; b& j$ T6 p9 O4 V. X' i0 o* m
var isLast=false;
/ ?& W( d) }1 i$ ^ x T G
% X/ H1 P, m* |$ L while(parentBgColor == "transparent") * a/ Y$ i3 t9 e
{
1 G- K- D) Z$ D: K6 l3 @% ] 2 [! {4 c# r& z# ^
) y6 a2 V4 x* d5 O6 e3 i% ` if(parentNode.parentNode == null)1 u- p4 X% `% ?0 {8 P. e
{, G, j4 L$ ]0 k) a( ?
isLast=true;
1 ~/ t" W/ p$ z+ L N# w break;
* ?' }2 |# S6 b3 Q9 ]# p }
- b- `! F( \3 t3 |" h' \6 u parentNode=parentNode.parentNode;( J0 I" \9 w& Q% g" g
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 i8 P4 x: k1 W2 m% G/ g5 K/ I1 ` a* G' V; u! L5 b% p) q' n
if(parentBgColor != "transparent") 1 O6 j4 S7 r" K, b8 s* w% S+ T
{
) Z2 K' m0 ~5 @3 K break;; O+ U$ l7 _1 N) p5 z
}
9 t: z6 m4 `& ?. O1 { }
. x0 ]9 z' L/ b1 L/ V8 c if(isLast) 4 v" E* L n! l- N; h
{+ Q- t: f- r7 A% ]4 y! f
if(debug)6 B5 X3 Y( f, `
{
! \( t' v& P6 A8 _- r; F alert("last!!");
0 e: O# D! [" N8 u5 g }6 s, N4 Z- P3 V
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- U0 _! J! L" k9 X* C. f) i
{
% U% @; P. U3 w" v, Z1 ]" R9 C orgNode.parentNode.removeChild(orgNode); + t4 } K# W+ G
}( K! o% m% V% t' s1 ^/ a
}
% R! ]$ u7 s& A/ e else
7 D6 \+ x: {8 q: _* P {, k3 \9 E3 B+ ^# A8 d: T! t
if(debug)/ _2 `. o5 h5 t/ @- M" l/ c2 ~
{
/ s) g9 z& x I% t+ c alert("compare color and parent bgcolor!");: }. | Q9 C: K# ^4 _
}9 f, v5 X1 G( N5 I
parentBgRGB=getRGB(parentBgColor);
0 o7 }! `% q& r5 _! P) [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( u6 ^2 [3 c; p- y9 j+ O8 A
{, F& Y2 C+ a8 |0 e$ k1 p8 L; n6 l
orgNode.parentNode.removeChild(orgNode);
& r+ h! m# f: K# W3 Z1 G5 {' O- J }% S% w) C& P; B9 _9 f4 Q
}2 b8 {1 J, n: z4 a$ g; v
}, _7 d' u# K1 t" }( m1 `8 H
}$ ]& V% f7 Q6 }/ l; [
}, O' i! {7 ~; Q6 a3 I8 m# Z$ U
}
" K/ S% l/ l) A9 l- P& L 3 Q& p* J1 `+ T
0 [' |5 ?, v) f- ]2 e3 q
var itemFrames = page.getElementsByTagName("frame");
6 I' c% ~9 X0 f) x var itemiFrames = page.getElementsByTagName("iframe");# f: z" m) }1 b
, l: `/ G S ?1 H1 h2 s" S var frame, iframe;
. a" G$ \8 I6 z- q t$ x if (itemFrames.length > 0)
& p" ]( `7 M: z) O8 k {0 F* Q; }9 L9 l/ s: |" a
for (var i = 0 ; i< itemFrames.length ; i++)
# c A: O$ ]* B {
0 q' F, q9 K9 X0 e7 c frame = itemFrames.contentDocument;' D& x \0 `$ @+ d. G
this.RemoveHide(frame,objname);
- U" k; @1 H( b }$ R& S3 {, ^0 r. |) Q% Z
}
3 J7 Y5 {* g8 _% s8 y9 R& j! j ]; `& H if (itemiFrames.length > 0)
( i3 y, n- _/ z$ G! \7 |( u {# m: O0 Q% z: X* p6 G! s! G4 [
for (var i = 0 ; i < itemiFrames.length ; i++)
1 p \; m- L; Z" w* s {! G4 k5 }0 L& s5 j
iframe = itemiFrames.contentDocument;6 ~0 E' r" ?1 B! T' V! a
this.RemoveHide(iframe,objname);
; |/ U0 y2 r! v% X( c, | }
. _! o" Y8 X" N, S6 f7 x9 Q }
* @( K$ X1 H3 j! I( n2 h }1 f3 G ]( H+ [/ Q
catch(e)+ |) { b$ D& `5 H/ C
{
; W1 t; F+ k/ U# n: Q1 ]. b if(debug)) C4 e, F6 F- X& w+ N; o2 e
{/ j- k" c& h7 C3 c* M
alert(e.message);
( T4 } G( L2 k& I" @ }
3 ?) j, H `8 w, w }! A7 R' N. e# B! C9 X" C
}
& G/ r. s, I/ g% B! m; y, O / f- b( |& {: v8 S/ S4 V# c: k( P6 o
}; l, H6 `/ o4 @
; _ `6 f9 r0 l$ g3 U: K7 Ufunction getRGB(colorString) ]/ A, M, Z0 u- F v) _
{
( L0 a$ N/ g" ~, r5 o7 U var RGB = new Array;
' U* S: ~4 S: H! H var tempSting=colorString.substring(4,colorString.length-1);/ U" M/ e5 o: t. E, l0 S4 j, W
var tempArray=tempSting.split(",");
( M6 Q7 w( J. I
" }% g3 q& X n1 f" l! ~, X RGB[0]=parseInt(tempArray[0]);
; n9 M1 d2 ]! o RGB[1]=parseInt(tempArray[1]);# _5 p) e& `; w9 a* L6 J, h
RGB[2]=parseInt(tempArray[2]);' i/ d9 o2 K4 c0 a, ^
1 f$ w+ k( O- }
return RGB;; U& y7 T" ]& i* @: O4 C/ m
}* P0 l2 e# p" d
function keys(evt) ) s2 a$ W/ f6 U; V- q' V7 _* |
{ 8 f R4 i( n5 ?6 x1 S/ H2 H. T: p! E, e
if(evt.ctrlKey && evt.keyCode=="81")
$ F) J$ {$ [7 r2 O1 c6 P0 ] {
* G, A4 E l+ ^3 n5 G$ f CleanHideObj.on(0,1);
- I4 Y+ L9 ?1 }" ^. V alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % [2 v0 y4 [1 e! Y+ _- x/ l
! l' c4 C& M. t
}
8 `: l& ^& q. a) c }
: G$ z! e$ l/ T k7 Kdocument.addEventListener('keydown', keys, false); 3 `3 d! \! ~0 H; O" o0 w. t
GM_registerMenuCommand ('Clean Hide',1 l/ b% N: v- a6 x& C s
function(e){- B/ L( t D, G9 V+ M
CleanHideObj.on(0,1)
- r6 I; K8 W- m$ Q3 K D9 Q% \1 Galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! K2 j. R/ n% ^2 M% _( } l
});4 w5 U2 v, u% O S. l7 J( T
|
评分
-
查看全部评分
|