|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 |* d2 @/ _8 @" C3 }+ D# F
, t$ Y2 T; b: T; E( c5 @$ K, m" O- k火狐插件,用猴子" h7 y$ W! U$ {' S
) c/ R# }: N6 v$ o% [var debug=false;
& i! w# ? h! u( S% N9 vvar CleanHideObj=new CleanHideClass();
! ~1 r9 Q5 v* c/ ]/ I& ?
# D6 h& z* m% p9 T- }0 qfunction CleanHideClass() . l" f5 {' g! b: `0 k- o
{ 6 y. w( F1 p L. a
1 \0 `; A% O8 \0 P' j$ h( z! s6 G! ? this.on=function(id,bMZ)& v' P/ {! g; \, S4 u7 l/ a1 V5 }
{
) b1 s7 M6 S' O4 i" s/ d) b2 p k- z7 T7 V+ S' s. E+ z, ~
if(id == 0)
/ d, V0 l$ ]8 s# T {
& o1 U# r& c6 b4 q$ J) G# _* D) h var page=/* document.getElementById("content").contentDocument */document;
- D a. X# ]3 f; B7 E* { this.RemoveHide(page,"span");
! X* C" R& q9 F) y$ t# p' W* h this.RemoveHide(page,"font");- y3 x1 i- [7 J, u. K$ v
this.RemoveHide(page,"div");
/ w7 O" z5 n) ~" d9 c this.RemoveHide(page,"p");, y/ W& g& ?( b; n/ m$ e
9 Q; |) R8 z/ H9 r9 ^$ e }3 E7 h4 w" k# U/ {* F- R" b/ O
* Z* N) `) _* C9 t; V
}
6 j5 L" [! N6 F0 g1 @# n- @ this.getobjstyle=function(node,prop)' X2 J& Y- b: ~+ \. n: J. |0 z! y
{+ g9 x+ y/ j& b2 F+ _1 J
try
, w9 |2 k/ f( S3 @ {1 D) c/ `! |# w9 A7 o
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 \( D# U' v* |! p% o% P! \1 L- r9 { V }! S7 v6 G/ \( q8 ~4 m2 p8 Y
catch(e)
; z( s, M0 ?7 b {
8 P. f' a Y, S7 Q if(debug): Q B% {3 [1 c; \- L/ Y4 M3 w
{
' o4 Y* a+ R) H' Z- n alert(e.message);
! P5 G& k# E' S% F9 B F }
1 _2 W, G* v: @7 s2 x: J, m . ?1 f- e( ]- N. t4 y2 g" M
return "200";
' L- M) A% o/ ] }
. T- }4 S4 t, } _7 \# @% S, y }8 i4 P/ r/ `, ~8 B: c/ r
5 \- i/ M o2 F( I: T+ g' B
this.RemoveHide=function(page,objname)
1 w' r' k! c( J1 G5 N {
, w3 [7 X% {3 m. m1 b0 }" W try# x4 Y: }/ N1 K# V( V: M
{
7 W# S# g" \! \) O9 i" u var minValue=15;) s% B' F" ?& R! ]
var objs=page.getElementsByTagName(objname); ( e4 ^- C' @) O& T, x0 [
: L0 _. l2 {; H
if(objs.length == 0)
& T6 G$ }/ o* Y; Y) P& V! ~ {
^' \4 Q# |1 T: @0 z* N- |& {" f if(debug) e2 y$ s5 |9 g+ |+ O' n( L, t
{' X9 G4 u' W! I! M; }9 b
alert("no object found!:"+objname);$ s; P0 u3 @+ U/ o! k6 B0 }, t! J
}
( {9 q$ D V h( Q. `3 b( J+ x }
9 I8 t* V' f8 c0 B" e else) w, c3 O' y( h# V, Q C( u1 B5 O
{
) n3 [ z' d- O" H
9 }, w$ K* `( X& f' F- }8 b) \ for(var i=objs.length-1;i>=0;i--)
3 \1 i1 S3 w( i9 H. f {% R9 ]) s' ?* h2 M
var node=objs.item(i);
' E; c+ e* k9 b
2 ]& C" n, q# e
1 D7 J7 }/ c# d W% Q, R# t if(this.getobjstyle(node,"display") == "none" ||
) i$ n- q' l `8 c- c4 j this.getobjstyle(node,"visibility") =="hidden" ||
" i) T$ B7 o6 y+ L. m) ] parseInt(this.getobjstyle(node,"font-size")) == 0) # ?) ?' W% v" U
{
% H' {6 Y7 k% x$ m; F, R* @ if(debug)
; p) ~8 h) a( E @ D# G j {% S1 F4 V1 J- I) f
alert("remove invisiable!");" S( b& X2 h% x$ k2 T
} H# O+ V0 t1 N) {( b) ]6 Q3 o
node.parentNode.removeChild(node);
5 K7 W% J* i5 O3 b 8 W/ P, ~- S: ^4 R8 F/ E. D$ l
}7 w3 E! ~9 t1 P* p5 @. B
else % [+ e% b3 c+ H* l2 }" C
{
0 k: Z( T# s; k) w$ u, l/ q if(node.parentNode)
9 g- V5 [& u9 i) R+ m/ E {
# \& ~- M+ n J' m7 W. c var orgNode=node;6 A+ c6 b z# k" n
var orgColor=this.getobjstyle(orgNode,"color")" o5 M) D' {6 T- \
var orgRGB=getRGB(orgColor); : }8 x0 d u5 Q8 Z" v' K; O
# D6 E# d" w4 o' b: O var parentNode=node.parentNode# A- ~6 W' W6 f/ _
var parentBgColor=this.getobjstyle(parentNode,"background-color");! j4 ]3 x ~4 d- ^ m
8 D/ b& T4 {$ K& X: y8 ~5 i: F
var isLast=false;
# V2 ^# _. {6 G; a6 l % r. t8 E2 Y0 `$ k8 E
while(parentBgColor == "transparent")
6 A/ f% S0 {* }* D' f6 Y9 g {3 T1 N( i4 D" q) }7 l W
: C. y U0 X8 i( n' w. t
0 }( L0 L/ F' V8 C, o# Z if(parentNode.parentNode == null)
' l" P7 a" I D3 ` {' v/ y# y: e( a/ D, v, [, o& d
isLast=true;
% l9 p5 _% D0 R0 R& G4 ^ break;* E& U& j6 m0 d% i/ ]
}1 c2 i; d$ y4 f" P
parentNode=parentNode.parentNode;7 H; @0 e2 O3 L* R P
parentBgColor=this.getobjstyle(parentNode,"background-color");
* K) R% k5 E) T' Q$ Y0 u2 R* L0 a. n
4 I2 Q% v: r/ u- [& Q" a if(parentBgColor != "transparent")
5 s) A. H# Z* R; B {
, s" b4 D- V# L break;
' U' S/ H2 \3 h' d! J7 e1 u }7 Y: D1 [# P5 x# y8 }$ k
}6 O& L4 I, Y9 X! F8 T5 {, K8 R
if(isLast)
2 s$ d h% \5 r1 w$ G; L$ } {. T* M4 Z5 p+ h$ [# B* r$ c# m
if(debug); m3 e8 y5 y+ M( r
{
& O. j. @6 }, g# ^ alert("last!!");
: L8 E$ m0 f c4 H* U, i }3 X; j$ @' P1 z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). E8 f: ^$ M# R1 O2 \
{
% B; K; t$ x# c, V( i9 {6 d( q orgNode.parentNode.removeChild(orgNode); # _: H- H( t$ e2 h# g9 D* ]) O* a
}; u& z4 ^/ r9 K8 r; ]
}5 \9 s0 \4 |! `: d& A( T1 B
else
8 ^+ h3 [( ~6 \* \) h% c, l" o* R {3 e4 P9 M( G3 K3 ?& V& _
if(debug), ]" X' H; f2 z7 U6 p3 f
{" ~) y4 a% h; Y4 S1 Z' b. }
alert("compare color and parent bgcolor!");
/ B( y! _0 l8 S) R9 f }
" C, C/ K l6 @. d3 F$ \ parentBgRGB=getRGB(parentBgColor);
& w6 _" m4 X7 }( d4 ?& P$ A2 J% J; ~ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, m f6 c6 A0 ]( _" {3 m& M {2 q3 ^4 T+ E/ S3 w
orgNode.parentNode.removeChild(orgNode); % Z# g H0 A. g2 \
}: k5 |& i/ S. L8 n' a$ k
}
% X" [* k& _0 v( U i2 | }
2 X/ b. @; q$ e0 N& @( V7 [ }
8 I" N. z& H+ d0 |: }1 ^# p }9 S* _+ G$ B8 q: p/ b% v) U6 a
}. w$ b0 i G3 r8 u# W
& [" W0 D! V* ?. `; Z. [ 5 j Z# \, w' }' y7 Q7 S& X4 h" S
var itemFrames = page.getElementsByTagName("frame");1 i+ U. y; x k- y$ g; ~ D( `
var itemiFrames = page.getElementsByTagName("iframe");5 Z. q, X8 i3 f8 v9 ?* q
8 q1 \' g4 n4 a' X% Q) w
var frame, iframe;+ P0 p/ W" b$ j0 [$ s3 }( i6 l
if (itemFrames.length > 0)
X% _/ f* q' h& q" @ {& {$ W+ k) N" O! s5 K# R6 r8 J
for (var i = 0 ; i< itemFrames.length ; i++) ' G# P: I2 _* ^1 G {
{
1 V! s, g! E0 o$ R, u% }" T' ? C frame = itemFrames.contentDocument;+ w: K* g% S2 u# g* t
this.RemoveHide(frame,objname); ; ?- `6 P/ ~- W6 `. I
}+ l5 o! W8 R% q' {. V
}
, [+ N D( u' P1 T3 Y6 e: e if (itemiFrames.length > 0)
+ h" t9 a/ s3 _$ i% M% C {) W% b& W$ B% W3 T9 x
for (var i = 0 ; i < itemiFrames.length ; i++)
# o4 _- X1 z7 _% u: H1 U* H {
) A/ ^" y6 R1 U, b# ~' Y iframe = itemiFrames.contentDocument;
' b+ p$ M$ r7 W; _0 S8 {( Z J this.RemoveHide(iframe,objname); 0 n7 W+ }$ b+ w1 n* o& P! a
}# _: g1 e. y' i8 q7 W; v
}- g4 A$ h4 H8 u5 `
} P' E% m% J# L
catch(e), {: ]$ y$ u$ T) z$ E
{
$ e$ p1 d' z3 \7 _5 a: K0 ` if(debug)
3 W( `; ^% X# E& s8 n4 M {% ^/ V+ e* S6 D0 O. h) }& {! f! b
alert(e.message);7 c1 N# X2 @! h& ~4 ]
} t1 g" f. X G( U
}1 |, T1 L; m+ s7 P% x8 p P/ k
}
- w2 J+ \6 ^2 `" T! K$ ^4 g
9 h0 V U) A* z6 X4 f}4 J* `. J Q9 C
2 J: x/ Q2 K0 z- U1 @4 Z" F
function getRGB(colorString)
5 T9 V/ ~7 e$ r) J p {{0 b* W. c4 l$ a6 w! p& g6 b" Z
var RGB = new Array; w+ ^; n! U( S; p% Q/ Q) Z: W
var tempSting=colorString.substring(4,colorString.length-1);
% o9 c3 T3 [9 P var tempArray=tempSting.split(",");
: _4 ^4 p9 R1 q& I( i+ P& d: d6 x' m' C' D
RGB[0]=parseInt(tempArray[0]);
; K$ r( |* p* O$ D6 w RGB[1]=parseInt(tempArray[1]);5 B3 G6 F4 B2 s. w% U0 Z
RGB[2]=parseInt(tempArray[2]);
! z8 {8 Q8 n% N/ r " S/ K1 T4 K7 S) w
return RGB;
. d/ s* _! c3 v}( v+ D" ^/ n( M9 w
function keys(evt)
! D9 a7 ?$ V( E$ [8 P+ Z$ o' p/ F { $ Z' i$ i( G6 S. l: N
if(evt.ctrlKey && evt.keyCode=="81") h, c6 I& K s
{
/ s, }" l7 Z% w- M9 c" @ CleanHideObj.on(0,1);' d/ `/ I: r i- A# E3 y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + c: t4 w2 v* p, B6 @
2 C" C5 }; O4 K6 j) q4 t
} / l1 W. ^- t' n
} , i. c+ t% t; c- P% t
document.addEventListener('keydown', keys, false); 4 @4 p. J% R/ M7 T) Q" J3 i
GM_registerMenuCommand ('Clean Hide',
4 ?1 L9 w" j- F. g6 a4 p+ d J/ g5 ~function(e){
; J+ O4 T x: t7 I" M6 f! r+ _: VCleanHideObj.on(0,1)
/ H, ^1 p1 @) W: _# |: dalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) Q# }4 t! |) w/ d R! P X+ q; B4 f
});3 h9 G3 d- R) B
|
评分
-
查看全部评分
|