|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 3 n1 V2 l8 V6 Q2 P0 l
, ~4 F9 @0 G/ a, i8 L( Q
火狐插件,用猴子
! |! |+ H! g6 l$ H- N* I' @# o6 W
5 T% w! d1 o8 `! cvar debug=false; * e$ G/ P3 F6 m+ l4 B
var CleanHideObj=new CleanHideClass();
5 m$ r% L, _! }9 Z
" e) O8 L R' }! E: Dfunction CleanHideClass()
( r" x: v9 f9 k) x{
4 r2 J+ P A4 E8 n5 U2 m" ?
. [& x Q7 b$ C( c$ w0 o+ t this.on=function(id,bMZ)
& A9 |' T, j) i- X& |: f$ c {
( N( S5 l! {5 k' u % R" s4 H' u0 U! _
if(id == 0)2 r3 P. V! d0 d9 {
{# F3 [3 H2 l0 E. o6 {% E
var page=/* document.getElementById("content").contentDocument */document; 2 E3 t8 x3 {8 q F
this.RemoveHide(page,"span");, x& t' }& A4 n0 c$ F5 c
this.RemoveHide(page,"font");
3 u5 m2 n$ ?( l this.RemoveHide(page,"div");$ F' {! ~' e# E3 s- K' Y
this.RemoveHide(page,"p");
* B7 T. B8 ~1 q5 u* H
$ {' a" B! x( R6 ]$ r& h }
0 S" I5 X( S, F2 k _ B# M
2 G4 G% s( r5 m. c: n4 o& t }- t& z E6 Q1 {) T/ U; b* M2 \
this.getobjstyle=function(node,prop)6 G$ V, o- I6 E, f
{
- l4 W; O& [. T! U( J* } try
2 p/ S1 s" J% @ k3 b [ {) a9 j% i: c1 R$ m
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 A% c( i8 j- t: F0 I4 v
}* n# d) T" O: z# B. J# p
catch(e)9 A8 o* o- T5 H
{
% ^* K' m$ b7 Z+ e# D: p# q if(debug)6 t5 I, K5 l$ }8 F$ U) y# x6 J
{7 C4 \+ w4 T h2 C
alert(e.message);
0 Q" A# k, w1 }( q* g" q: p( a& _ }
' a! Y1 P2 S4 d6 c# p 9 w3 X9 ?( K+ j$ u7 F U
return "200";
- |1 X' J/ [( c8 e& k5 T6 b }8 a4 ^& I, s* t; j0 {# O
}# H: ?/ C; I( i" {) ?) K
0 w) ` m, q) e# R+ k
this.RemoveHide=function(page,objname)' F3 L7 E, Z0 R( g
{
0 k2 C' L: l! d$ {" ^+ S try
" r2 c4 w: L$ ?# w {
, d" W- V; U" a7 ^ var minValue=15;
) @2 w& T8 E+ Z) y( F& h# @ k var objs=page.getElementsByTagName(objname);
n/ i1 r2 B7 g9 u( y, |7 Z8 E' b* J6 k: @- o# ^% Z. O
if(objs.length == 0)
8 f& q7 l: w; ]: B+ e {
0 A0 E6 Z2 g, ^( l6 g, Y if(debug)' X8 L0 ]8 P. b% H# j# I: _
{
9 z9 ^+ n7 G5 Z( l+ D, L2 X) [ alert("no object found!:"+objname);% D) y; P O* [& T
}+ i4 d% E$ c0 k1 w9 p% O5 J
}
/ b/ y) g7 j0 w% q else
- C* o6 `* P! b, ~9 R/ g { [6 ~/ q( h0 T4 l* U6 w
5 |) ^: d! ?8 N& Q! M for(var i=objs.length-1;i>=0;i--) " ]) S9 G4 @" U' b! ]8 S
{4 u9 C+ S+ w# K/ O6 a# e
var node=objs.item(i);
3 G4 J0 G5 ]" p* [
* J* E) i# l$ a/ L( j& |: G 4 f4 g2 t- Q V8 d+ ^. [% B/ V; ]2 b
if(this.getobjstyle(node,"display") == "none" ||8 i! T4 y4 x. e
this.getobjstyle(node,"visibility") =="hidden" ||: J* C& \% k, e+ b' X# C- {/ k
parseInt(this.getobjstyle(node,"font-size")) == 0)
) K% v# W2 l& {9 j5 k {
$ \% y/ G* s# R% h7 @ if(debug)0 I6 d/ m5 A- n/ s
{8 e' |7 n! M/ d) ~8 x
alert("remove invisiable!");
4 D9 \8 n2 D) n+ s- \/ y2 ` }
$ O4 [ _6 c$ ]5 b3 P node.parentNode.removeChild(node);
; c3 c6 v3 S: v9 A9 Y0 B
/ l5 m3 J9 ^; ]8 R }
% S' }2 L+ Y) ]* e else
2 u4 P G; r; {6 t) h {
* o, a: Z$ m# U5 x3 J7 H if(node.parentNode) $ z- M' ^. h+ b8 `" H
{ }; E% A8 k; N! [
var orgNode=node;/ H e6 Q# u d( R2 M9 f) O
var orgColor=this.getobjstyle(orgNode,"color")
3 t' u9 G& p2 c; L+ Z var orgRGB=getRGB(orgColor); $ u1 u5 j5 t2 M6 @# ]
0 j9 R. g0 _" r" G$ y& _$ i; y var parentNode=node.parentNode
5 u4 Z& ] s8 ~; T var parentBgColor=this.getobjstyle(parentNode,"background-color");# x+ f. M6 C$ G" _
9 F- K6 s4 r* S5 p2 @ var isLast=false;
- I' e$ a5 Z: A+ ^
- E- K% o, O0 @4 |' S8 [ while(parentBgColor == "transparent") # g% K, X/ U" a6 W+ q7 B G0 ?5 f0 ]% _
{% a! k+ F+ c0 f
1 L; O$ ^9 B4 v$ k* M 7 b& s1 n- t0 C3 d) D' J W# h
if(parentNode.parentNode == null)" W3 u5 c+ h# z: o8 n
{
Y- @+ q# i, t" i, E& i isLast=true;+ n# F9 h; U' `
break;( j9 U; j9 L7 l
}/ D& h6 s2 W6 p$ }- b
parentNode=parentNode.parentNode;
8 o+ ^6 ?& G( v0 Q. R parentBgColor=this.getobjstyle(parentNode,"background-color");
( M* O/ T9 ?( @7 L' [4 y: p/ J/ a5 ~5 E
if(parentBgColor != "transparent") % a- I7 c V! O
{
: _) `; b p4 y7 \ break;2 g! [0 U2 a# I& @: H
}- b0 `: O+ X& t' Y; \9 p5 R
}! O7 p: P) W3 `2 E2 |
if(isLast) 8 \4 Q7 n- K" S7 s/ U
{* I% K$ u2 S% z/ C2 G
if(debug)2 X0 ?! O# y# \% p
{! u$ F" C7 r+ q2 |
alert("last!!");
- ?: }. @. }+ q7 Y }
1 a" I) w' h( X if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ `* E0 z, C. y$ m
{! L1 \4 g+ L* {' d9 M( s; V4 l
orgNode.parentNode.removeChild(orgNode); * s0 d a* P4 V% v5 f
}
& C7 n8 f5 z0 S+ ~- S* j }
( b O+ a- r* n else# E. p0 u+ J" z4 a9 [
{
- I9 t5 V3 ]* V( E- M1 U* R ]3 X if(debug)8 I: `/ s* @3 t3 f( o$ ]( C" g* H
{
' V: c8 ~. v4 j- s! q: V. | alert("compare color and parent bgcolor!");
% [. r! X: q4 A8 h+ H }2 j# T, r' H+ Y; `) d1 a3 c
parentBgRGB=getRGB(parentBgColor);5 u. M" k, P: Q+ r+ b6 Q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 a$ n( m2 t' _ {1 C7 O% A' D4 d7 q, J
orgNode.parentNode.removeChild(orgNode);
5 x- v: {+ Z7 a( ?: ]" I }5 l% ]* h! R8 D( B. H: H' v
}
7 O3 L" j; D- M' v* p }" g- s$ G3 ]+ Z* o k( E
}
$ t4 d, f0 P: x( i6 X! C }# E7 L8 `4 q6 L$ |: Q) G
}6 o: s) g1 a }7 R
: u( B" n2 a; S4 {
4 ^& V6 M* k l var itemFrames = page.getElementsByTagName("frame");
) a8 @7 c5 z/ I! {- ?! M! k: a var itemiFrames = page.getElementsByTagName("iframe");
# r ]3 G! ^+ V- b+ [2 C
( T! F; C, y1 `. x* D# f+ c" ^" h var frame, iframe;( o1 | ], t" J g3 M6 U
if (itemFrames.length > 0)6 w9 R. `$ Z0 W x2 f% y
{- J5 c- q& |2 w2 K+ A$ W6 u
for (var i = 0 ; i< itemFrames.length ; i++)
: z/ N! j' L( i" g8 j | {
# P& [4 v; \) m6 b% M frame = itemFrames.contentDocument;
; Q$ L* U& G5 D7 X1 h; z this.RemoveHide(frame,objname); & m8 A+ }% q' U6 N8 r0 ^
}7 D7 y G' R6 D9 v
}4 j* P0 E% G/ U; W3 f5 z5 t
if (itemiFrames.length > 0)- Y6 P! a n, ]+ |! O& r+ k
{2 g4 L3 [* Y9 q
for (var i = 0 ; i < itemiFrames.length ; i++)
3 K! x- G1 Q+ ?( W: n' D; k {
! K) {9 U7 g4 x1 H2 v/ J9 s( m' { iframe = itemiFrames.contentDocument;
9 u7 k8 f3 ]( o& V this.RemoveHide(iframe,objname);
% \2 f, @7 j' v7 f* ] }
" @: P. A: v! Y }
) _2 n; T9 R4 F5 U$ `/ C/ j }1 t! v% g7 x; ^. A( G5 m: {
catch(e)) M5 }+ O+ o* ^' G$ \! |' w, l
{
$ M9 Z; q. M. a' t$ h if(debug)- q& s% ^5 f, R8 u; u7 ~7 T" P
{
8 t" w2 J( a: t1 m0 B, ~ alert(e.message);
1 R4 i' S. ^3 ^; u0 o4 N }
5 W) [# |9 ^% {7 S: G }
) u* k* J' U7 U6 A+ ~ }! ^, e! T6 x" h# Z
5 |* t% O- D( t2 ^3 F
}7 _' t3 Q) J' y+ w* u5 R
0 i9 b$ T; a3 V* b9 c. q: `function getRGB(colorString)0 A( \6 R$ {1 Z L% _8 t) I) g( i/ M& s
{( Q: M0 F2 x2 @7 W! b/ r4 Z
var RGB = new Array;& _% {. `8 X8 J( t3 Z7 L
var tempSting=colorString.substring(4,colorString.length-1);0 b/ A+ X8 f$ M1 E' X
var tempArray=tempSting.split(",");
" w& S/ F2 }* q- p& {5 J: N5 b
' _$ S' v! L( N: G4 J RGB[0]=parseInt(tempArray[0]);
. r1 s L9 U, Z9 L8 H RGB[1]=parseInt(tempArray[1]);
5 ?% s7 y. j; Q; q RGB[2]=parseInt(tempArray[2]);" w: t2 H! o5 Z( M! k9 c
; u! _+ _# a4 j0 L
return RGB;9 V& _: _, X: k, C& S
}8 Y3 I) n3 I3 M
function keys(evt)
/ A* `/ J! @* c+ S7 D- O { ' ?. W: v( M7 z& A" z
if(evt.ctrlKey && evt.keyCode=="81") t& U- Z- r+ N V6 l; Y5 Y
{ 5 a3 x: O( F; M9 @' E3 D
CleanHideObj.on(0,1);/ M9 O% y# s0 g _! m" C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
F# n) q3 ^7 U/ E; O
5 c* Q7 v) i; h8 u: }% J7 ~ x }
6 m+ |/ v) @% ^- X0 p } & @8 S5 Q j7 z4 X# {* n( s
document.addEventListener('keydown', keys, false); 2 A3 U# O, W+ Y* |/ r
GM_registerMenuCommand ('Clean Hide',
+ D* v: c# a% h1 Nfunction(e){
: S. c3 Q( w5 S( i0 e+ Q, |" L0 hCleanHideObj.on(0,1)6 y% T% j5 e/ I5 \& w0 B e, @, u" R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 L D! r5 k9 D/ Q8 l
});6 q! W/ X' M% W& ?2 m, J, B
|
评分
-
查看全部评分
|