|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 3 ^/ z' |# B! g+ E8 V7 }* o
3 X& \7 e) g) w ^1 E0 O6 l x# H
火狐插件,用猴子
' G4 L8 B& B4 {
U0 A# I& @0 D' |( ?0 `var debug=false; % X& ~' \' X* `+ X3 d
var CleanHideObj=new CleanHideClass();
P) ?9 x" J8 ~; k. e% d- [( a
6 \' k6 v/ c! Q) w6 @/ W5 Yfunction CleanHideClass()
( _! Y! T3 l) X6 Z9 f: D{ , W" X* s" Q1 j: m+ `
, A6 B% T$ h3 q this.on=function(id,bMZ)
2 ?7 q5 j0 U7 m. z$ |" m {
+ b+ z* J' v% I/ k 5 n5 |5 n& V$ f+ E- n+ e
if(id == 0)3 V0 T9 ]8 d1 c
{0 g" V/ @) F8 @6 o
var page=/* document.getElementById("content").contentDocument */document;
" ^4 b- K+ |6 {1 b1 u3 P: x" W! K this.RemoveHide(page,"span");
$ k2 K' d* m, F this.RemoveHide(page,"font");6 U; P) t9 d3 c$ A- D& |3 g, {$ {
this.RemoveHide(page,"div"); i1 o6 V1 n, @& R4 @2 s
this.RemoveHide(page,"p");
0 ~9 Q e' e4 e" T7 L- H2 _ 5 T2 L5 i) x# c- C$ w9 N6 b7 K
}* ]; z& S+ g4 V& C- u5 m; o" X
. a7 c1 J1 s- |1 f6 a3 y4 H }4 c) `$ n7 j& [
this.getobjstyle=function(node,prop)/ n( t7 O/ d+ ^7 _' s
{
5 }; f3 q+ T4 O6 U0 J* x& u( q* s, k try* D! w# H& q3 v1 E7 H& a& n6 d
{: } r2 ?' x. `. `
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) L' E6 w9 \! s, z& w
}8 X* R( d' x) F1 k& V) V6 N
catch(e)& e4 K, k% E5 t6 F
{# k n {1 e5 Q0 a
if(debug)
# f% H( a% a% ^. } M0 { {" u2 L6 p- N7 r* b
alert(e.message);9 w2 \" @9 P/ l9 O6 ~' r
}
) v, a# X, q( T
* w0 a3 P Z' @% b return "200";
3 y' @! v8 b/ A( ?5 a7 s }
, A9 I9 h' r" C }
8 A7 l, M- B$ R& s' w( \8 `
. x8 B7 g. F7 a% F6 |; H this.RemoveHide=function(page,objname)
2 a2 ^& e' n8 a2 y+ [! w2 U {
3 B6 z6 T1 ?% B4 E/ [ try' ?$ d2 l9 [' f
{
1 ^. B) Y5 B3 o var minValue=15;8 f% A: S8 @6 _
var objs=page.getElementsByTagName(objname); * ~; X1 M& H! ^2 a9 S- u
' K3 G! K6 _1 b if(objs.length == 0)
; [$ _5 c7 k3 e' _% |# W {: ?* u$ a/ j" `
if(debug)
) U6 n% o! O4 h1 F1 A {" P6 _$ h7 b A8 O- P0 P! g
alert("no object found!:"+objname);% Q% B* @$ T0 V; A" ?
}
" Z6 V' c" q& l! Z/ Y1 n }1 T- G4 h# c( y2 V) S; ?
else8 o$ k7 M$ u% C+ M
{
! y3 V6 D1 C' b" @1 n. O1 Z9 l- ^ ! M/ Y6 ^0 E9 f$ {! s- ^: X
for(var i=objs.length-1;i>=0;i--) # T$ n4 c3 U1 w- k! ?
{
& o1 P( Y i/ l2 F* ^ var node=objs.item(i);
T8 g4 i, Y* M4 y; f4 O1 P 0 r+ Z/ Y; w$ C. z* v: {
" X N! \+ r' Y6 h& x4 ^, n
if(this.getobjstyle(node,"display") == "none" ||
$ m- {4 a& i- g u, n this.getobjstyle(node,"visibility") =="hidden" ||0 p! l" w" |4 I# V' V
parseInt(this.getobjstyle(node,"font-size")) == 0)
8 c- y% a& L) Q {0 k7 o8 M. d" V+ r
if(debug)
* U3 q3 g, O; ?$ [; ~; ? {: O( n$ H# M1 c4 [. R
alert("remove invisiable!");7 q& b4 X. t; F' P- a o( b4 N
}
/ v9 d' ]2 `* S+ t node.parentNode.removeChild(node);, y7 f9 f0 ^" _0 O t' {& C$ S8 V: S
`% k6 V% \# g8 d c/ s }
% X0 B9 S! U& L& v) P7 f9 J Y/ O3 w8 y else
/ ]" [! e7 i) Q4 c% ?- O {
( l3 a$ o) v5 ~* B0 _2 D' {1 b, y' k1 V if(node.parentNode)
3 X* _* W- G' n" C* q$ | {, E# ]( \" F! S2 ~
var orgNode=node;
; [3 o! O0 J) X- V$ m var orgColor=this.getobjstyle(orgNode,"color"). z0 B, O' \$ N- {+ \" |9 _
var orgRGB=getRGB(orgColor); 0 E& D. V3 A: i" Y; y0 X& s
$ y4 V5 x' u' M var parentNode=node.parentNode
. x4 e6 ]% W1 j1 ~0 x Q. z# t var parentBgColor=this.getobjstyle(parentNode,"background-color");
- ]- B [$ [, r0 r4 F5 \
2 o- W1 S+ `/ J# n; i5 \+ m var isLast=false;
9 I$ ?# _, I2 T4 R1 }, e3 O % E z! S5 j4 n/ r. P* c
while(parentBgColor == "transparent")
5 z) d$ [, l* j& W$ H {
. v0 A# W- x/ \! u, |8 B3 M5 j ; g, u: s6 z" w9 Q
0 @& X. h9 ^0 p$ ^5 s; ? if(parentNode.parentNode == null)& I* \3 D. R$ n7 Y$ q8 s
{
; n7 C8 V( A& g& U( { isLast=true;
+ o: w4 ?# K/ O' L break;( f# S+ V+ {3 `' A4 t2 o
}7 [! _) ?2 M& T6 c7 z$ q
parentNode=parentNode.parentNode;/ h! W+ w, p/ j
parentBgColor=this.getobjstyle(parentNode,"background-color");
* b8 J4 ~ K; k w3 U& z
) W) C, W& N6 h6 \" H2 g9 a- x" `, ~ if(parentBgColor != "transparent") * v2 e, J$ K7 R w+ E2 j% ^! z
{, i0 X6 _- y, o z$ ?, V1 d" v
break;8 W; W& q- Z% \* C
}3 I. Y6 e- T, S8 V" _& E1 `" S4 D
}
* C. T; r/ x1 B/ Y- s6 s w: u if(isLast)
# n- T! w: A, ~# d8 o4 O4 d) E {
2 y! d1 X, n9 ]: e/ {* z5 n if(debug)0 X0 R9 Z( R/ u G7 y
{
6 J5 c0 D6 V# p3 _6 M. Y U alert("last!!");
' M8 y! N; V5 |3 ` }
3 i6 ?5 q" o9 g: q; I: s2 i8 @ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. \ M4 O. q% l' I% L, v' q F {6 s9 H1 l |$ u, C
orgNode.parentNode.removeChild(orgNode);
/ b( u( L7 O" `' w }7 G9 V" I" H2 J X
}
9 \- q' z( ]# j9 A8 V) \# d else% {8 ]4 {% H1 g7 r" Z( O
{" s; Z& b9 o. ^/ P
if(debug)- X4 y* t' s h# Y0 |4 Y! s7 a A
{& D7 v1 L3 }) t$ z
alert("compare color and parent bgcolor!");
" L2 W; F- @5 A2 C' W* f+ V }
0 E& E; e/ ^5 V0 x parentBgRGB=getRGB(parentBgColor);
9 B( ]* @1 [5 r0 G2 d2 J if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 }5 x: H* f4 A* b
{4 A! _" T8 H; d& r
orgNode.parentNode.removeChild(orgNode);
1 G" b. x. ^2 a0 |0 R" l! m ?9 U }+ x" |# g q% l: {) H
}
. o2 T4 e6 S, y: U }
! G6 V5 Y$ F: Q) l" j" ^ }
& Q! U/ z( e5 t+ Z% m/ E }
. j/ v Q1 d0 C4 \9 z2 o: T }0 ]2 q! y, ]% j' H, w" Z1 z
7 R# t G0 B" ~ A
* F6 N8 \, G; {% p7 c" a
var itemFrames = page.getElementsByTagName("frame");
: n3 a* V i" \ var itemiFrames = page.getElementsByTagName("iframe");
% r/ w+ Q) h9 a 8 E' ` t2 m$ ~6 L, E
var frame, iframe;
( O) R+ ?( F! g. H B if (itemFrames.length > 0)1 u. v+ s! `4 m* \$ d; n
{
4 Z$ n$ a; K+ M* R) q! G$ C' J for (var i = 0 ; i< itemFrames.length ; i++) ; b( H' J m3 q/ ^: w0 z) D) \* E
{
2 M8 `( G" I/ K$ M frame = itemFrames.contentDocument;
. ] M9 h" c3 s' F this.RemoveHide(frame,objname); ^: V e9 ^# |( J! ?
}
0 j! o) D+ r9 \$ J! n }
7 }4 K3 S; k; H* ~, F4 a if (itemiFrames.length > 0)
% J: Q: s) c4 x- V# g! \ J4 i4 d {. `/ \$ w! O$ ^, q+ H' @
for (var i = 0 ; i < itemiFrames.length ; i++)
' r7 E8 s" p k* J {8 w1 y: [& }; J- r
iframe = itemiFrames.contentDocument;! k( y& A/ F; A+ E: w
this.RemoveHide(iframe,objname);
: Q7 A% |, s' W% Q9 \, e; e }* r, ?7 d( b1 z) J# `" }
}
+ b: T/ @) C* D. F6 v' O% v }
$ I4 ~* K3 b; V6 ] catch(e)0 b: {: q. n- l4 v
{
$ Z6 T5 k* c% ?$ E9 Y; c2 Q if(debug)
. Y1 U9 d( Z, N( L7 m, J {" @/ a& L2 [- l% G, Z5 J
alert(e.message);- K/ \" n5 C" d3 p6 c8 a
}$ Z2 o! D7 ~+ ?9 A3 p/ c3 I
}$ p Q- O+ d% m' P d# H
}
$ m) h, q+ T$ a2 F6 Z ]* J7 M8 Q+ ^. o6 o9 j' h
}
3 l0 L: X- Q$ i4 E, a- S2 a0 w; Q7 O/ s1 P: H h
function getRGB(colorString)& ~1 U5 |& A; ]
{/ x; i) M1 Y5 Q! m3 l8 w$ w, d
var RGB = new Array;* A* M% e4 C: X7 y2 x0 p/ h- Y
var tempSting=colorString.substring(4,colorString.length-1);
/ Q7 o. G$ I% Y8 v. l: d5 a. D var tempArray=tempSting.split(",");
; r2 g9 ~ P! A) y5 y0 U& R* D0 N2 O, f
RGB[0]=parseInt(tempArray[0]);
! D! d+ c q# W' q RGB[1]=parseInt(tempArray[1]);
8 G6 K5 |+ o! x- P. q: w9 ? RGB[2]=parseInt(tempArray[2]);
4 G8 V) J7 j W- E* N0 k + _2 z. d& X/ [6 O& ^3 M
return RGB;
' n9 z4 B+ }: F( F}
2 c# Z& \. N1 ?4 P; _function keys(evt) 2 z$ y9 U5 i; z5 p7 b! [9 Q
{
V# U+ d: p+ z& ?6 S* H$ Q if(evt.ctrlKey && evt.keyCode=="81")
/ y, f ~' `9 _6 p, H& N {
$ T2 p+ H6 B9 m) Z* R CleanHideObj.on(0,1);
4 M, @& ?; \9 ^" x alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 @( P, q5 J$ [, v7 n
8 X0 ?8 r5 H+ [* [& h; P } ' V8 [2 [% R7 J( t" ^
}
n8 |3 \2 x" A8 L& j/ B8 y' |document.addEventListener('keydown', keys, false); # E1 V. ~- u0 w( q' i/ Z$ w/ I9 O
GM_registerMenuCommand ('Clean Hide',% R! s3 Q& n# I3 u1 R
function(e){
. i3 \0 c5 c; Y5 j5 p; {CleanHideObj.on(0,1)
' j2 U4 G# G6 U( z+ m& T2 ualert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 D+ f) c4 N) y' M" }6 v
});* z4 y; p) i* T8 e
|
评分
-
查看全部评分
|