|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 B8 \9 E5 V: \2 f6 p. Q
; O" d% ?8 e; Q' \, l
火狐插件,用猴子& j6 c+ O, k: X
# i! D4 L: p1 {, Q' E3 j# Qvar debug=false; . R1 y E& A+ N$ W7 x/ Z
var CleanHideObj=new CleanHideClass();
/ m* z/ G6 {' D9 V" C2 A' `/ r0 S
; b0 m4 V( a: C- W. m7 }$ J& `9 nfunction CleanHideClass() ; c. _( q1 T: o: ~2 D- [) I
{ 9 z W$ Z& B% R! ^" |
( z4 r4 d' Q C! ~) U, W
this.on=function(id,bMZ)4 f9 |. ~( A) | `
{. ~9 o1 J- t1 @
1 c4 ^3 g# v# `6 Z; l7 e
if(id == 0)& f/ w) W# s+ `' t% V' [. u
{2 M) s1 v, h( d- @
var page=/* document.getElementById("content").contentDocument */document; 8 @& E: V; L" C2 ]9 o" ^4 w$ i
this.RemoveHide(page,"span");- Y3 H u' y* o5 V+ \% s! U$ O6 }$ a
this.RemoveHide(page,"font");
8 ^) N' i5 `* f2 ~! r3 c# ~) s this.RemoveHide(page,"div");8 A& n& A3 m t8 g
this.RemoveHide(page,"p");/ m+ B8 K& { A5 S, g$ p4 W, W
/ e) |- [. \ D }4 B. s& X# |+ S, l2 n3 S H
- ~( j( N6 H( H8 {2 O9 [ }
7 w& d. {* `; X; [ this.getobjstyle=function(node,prop)
; T! x- I6 F1 I& q {
6 F! J. t' u5 v i! u try
" h' |! g! C3 z {$ Z2 G7 v( q2 C* t$ x
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" v3 C( x+ R3 k: o2 {+ e \$ c, H+ m }' S7 c& Y8 J% o6 [6 e6 f9 V, e4 K! `
catch(e)
+ ^0 l. Z. K# w4 J {
. y3 U. V2 z* F6 g if(debug)% e, y* L6 Y. O# w, l) r R2 r) X
{
; D, v' Q$ v: G7 V alert(e.message);
$ D% W1 Z" n4 L4 S }
H( p6 I4 j7 J6 T0 _% X
* x, E& s9 {6 H: G4 ~ return "200";# J# W* U! D, z$ }6 k6 u9 E
} U0 u6 k. N* O5 N \! T$ q
}
, z3 Q3 a2 i" p" ~" j5 g$ E
! }' F+ q) f0 E. S r this.RemoveHide=function(page,objname) Z9 N1 I/ D7 h& F
{$ H8 U+ d, `6 V0 L2 K
try. n9 Z1 f: R/ K' r! v8 j
{
$ l. ^. X6 ?1 Z# W3 a; b6 z+ V/ g* u var minValue=15;' t5 R: O/ h4 U5 T5 x2 P8 C" z; L
var objs=page.getElementsByTagName(objname);
) n$ @: J3 g- { m/ z7 v4 f: z% U H( m+ ?# L
if(objs.length == 0)
f" \7 L& D9 _ R# Q {
. l; M" ?+ S$ D, V0 U if(debug)% y- G4 H7 ]3 q: [' `
{
# K- M" X8 p U% U# { alert("no object found!:"+objname);
0 U) [2 I. l- Z }% p: R g. f- e: q
}
& l; Q6 C! X) J5 \ else2 K7 s5 C* X, d! @2 X
{
( d$ I; c2 J& F i/ i4 U7 ^+ ? 6 R# u8 G. h0 d0 z3 F& K& D, _
for(var i=objs.length-1;i>=0;i--) " E L4 R! U2 ~$ j5 V) O0 q4 T
{1 p$ w5 o1 B+ s" w
var node=objs.item(i);
- `" m" d5 c$ \2 o* i5 k: J* T) d& q
: v8 E4 n2 E) V, ?
) h. q- _/ m7 P8 v2 q! d: C if(this.getobjstyle(node,"display") == "none" ||0 V. Q; P$ Z' ?3 l" K/ n) ~
this.getobjstyle(node,"visibility") =="hidden" ||
( G5 i& b) k: P4 U parseInt(this.getobjstyle(node,"font-size")) == 0) $ l- n4 z$ Q W
{
6 C% ~. q: R' M/ _+ v& S if(debug) x' y! q# F- A; R% y
{
* r/ ?. @% J1 L" Q& e2 F alert("remove invisiable!");
1 @( n: |1 P6 K2 n& R }0 c1 F9 g. L! z: @, ^' W
node.parentNode.removeChild(node);0 z4 j6 P6 P/ [& d1 c
+ K6 |/ e! K8 ^, {
}
; N+ _) r& l' Q& z4 y, a+ e else
# x1 `/ S& y. C) Q {2 f2 g: I' |6 k- F* j0 \
if(node.parentNode)
/ l- z Y$ G* y5 V {
. C# q3 I0 q+ c) P' ? var orgNode=node;7 F6 m X4 N# _) n+ y" }7 X
var orgColor=this.getobjstyle(orgNode,"color")3 L1 p9 [+ j: r! M
var orgRGB=getRGB(orgColor);
2 Y$ M- m" x: H2 C+ K
2 Z" R& G- G5 d4 ~ T var parentNode=node.parentNode
4 k" n- R' i# d* m2 O- T var parentBgColor=this.getobjstyle(parentNode,"background-color");6 `3 m7 `7 }+ V. [- a6 ], r8 W
G9 L/ G) _( Y; H8 g7 |
var isLast=false; Z" I. U! z, v- O, N3 |( D
" }* {, d; H; |- s: |$ ? while(parentBgColor == "transparent")
. \ g* ~7 Q5 Y+ a4 Z* ~ {1 W) \* Z! M4 r, Y- X. y
t) _ Z7 y3 { w7 j! b
& z- R9 n& b' }) k5 Q4 F" b5 k if(parentNode.parentNode == null)( Z2 {, u6 J: u) o% O2 p
{1 f0 [2 h( X* {+ r
isLast=true;) {' P2 I1 z- }$ D5 T1 I6 b
break;" @% U0 L$ c3 c3 ?
}* n8 M `1 p# l6 T
parentNode=parentNode.parentNode;
, ?, t9 t" Z$ Y* B" d parentBgColor=this.getobjstyle(parentNode,"background-color");
) u, \$ Z# j% E7 n/ V6 r- Z$ { l T6 @4 u* [
if(parentBgColor != "transparent") & c5 u7 N$ `8 E# l' _% J
{) p$ O/ \/ p$ g4 I; ^6 Q
break;
, |+ C: G% e8 J- U* N+ |3 q }
& F8 T- g; ~2 e2 K+ z3 u }
, \$ x6 @( U2 C: b if(isLast) 9 a, Z0 q6 ]% G, }$ V) H
{
$ [' M6 J6 d# e$ D if(debug)
* d$ h! m( i& G3 y% _ {
. K8 B, W$ Q( A+ a alert("last!!");) i" B+ l( j3 R" i$ P* c1 P5 E- ]' I* F
}
! k2 K( g+ I. G8 c if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! X Y8 i0 o9 d8 y, y
{
8 v; I6 m# z/ c' t/ d orgNode.parentNode.removeChild(orgNode); : e/ Z4 V9 t0 G
}, A7 o1 g) A( D# i+ }4 L
}
]3 U, K/ m0 w1 K7 g else* B- {9 x4 v7 w' s# N9 x2 h `
{" h0 I/ m9 M' i1 b
if(debug)
; H0 J1 t- z& I6 F. E {5 d0 U6 o, r( A0 i2 M
alert("compare color and parent bgcolor!");
7 c/ B4 Y G: Z/ h! N% D }' X1 g, s# \3 x' _6 X& n
parentBgRGB=getRGB(parentBgColor);! E6 G3 a, @0 w
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# g& G! h% F0 G6 ?, _5 G; q: T/ {
{4 G, i8 m8 @6 o; P- s' ^1 U
orgNode.parentNode.removeChild(orgNode); ' _% t0 v) q$ x/ Q
}+ P+ M5 _) p! \* A/ U1 i' Q4 W
}
+ L+ _. l# u$ w6 m' \ }/ K( |9 Y. n& D2 @
}
+ G+ G5 y8 O# C3 X% k }/ _% u$ O+ @ Z, n; ^
}: d2 q+ E, ^- p" { M) c( r
) e! A" p0 _; q9 i {% y0 q
7 |; M0 k$ V5 f ?- j4 w var itemFrames = page.getElementsByTagName("frame");1 V" M4 @: N, K& b
var itemiFrames = page.getElementsByTagName("iframe");
" D! s0 p2 S0 m" b8 t- C$ ~
5 \7 `* j0 r+ i' Q$ k( X var frame, iframe;+ s+ _8 r5 e& K1 u
if (itemFrames.length > 0)
# \4 x F) F2 |4 g {
; Z+ J# h8 l' M# c for (var i = 0 ; i< itemFrames.length ; i++) 5 s5 K! E$ M7 i3 Z+ W" I
{
$ V( w& h, P2 \$ l frame = itemFrames.contentDocument;0 I5 o4 t* j# i: W ~$ `
this.RemoveHide(frame,objname);
! u& x" Y8 V- m! r' b" d }
+ D* b+ c, i$ e3 T6 z9 h }
4 Q# a# N( D8 K6 ~1 L) i7 i if (itemiFrames.length > 0)
: N, a! g! G6 S, U- f9 z+ k {* b8 c3 ~$ m- l3 U7 z. E( ~/ h3 l
for (var i = 0 ; i < itemiFrames.length ; i++) ! U. P5 x# l$ T5 e" ]1 f
{
; n* D3 _1 O3 R9 S0 l: N iframe = itemiFrames.contentDocument;
1 H o/ k2 n3 f& ~# s- L this.RemoveHide(iframe,objname);
" H* { d# x' C# a* H0 J+ U! V }
. J. k$ d5 V8 W3 m$ \! I1 W9 U# ] }
1 ~ F0 Z& i+ v/ z. y0 J }
% |7 E0 x% \8 ^' r catch(e); w+ E g/ A% v' |' Y6 K! [
{& W6 k3 T7 B2 a
if(debug), J/ N6 P; G5 ~5 _6 l
{
9 M* i, q V$ @# f4 o* \) ~ alert(e.message);: `1 r1 d# M( H/ Z
}
) b2 a s: L: `3 t6 g6 Z$ e }$ Z% x! _& H/ c$ {
}
6 E# _- |6 J0 J( y
' u* }% g4 y$ h* y; g. \ T}
$ z% f1 O& N, N9 M8 ~# a) B* |- w+ c6 @, d. d
function getRGB(colorString). x4 h) ~% u8 w4 H. {. M: }
{" b. O! a1 V4 j" x# k5 q- R# \/ _
var RGB = new Array; n& ^# Z4 b3 t, Y8 _
var tempSting=colorString.substring(4,colorString.length-1); }7 u% N% \* W2 F C" a* _, p3 u
var tempArray=tempSting.split(",");9 z( U( f! J1 {; Y9 q+ y6 U- b* T" ~
# v6 U. j9 D5 t" B* T RGB[0]=parseInt(tempArray[0]);
. ^: }) v1 S; t RGB[1]=parseInt(tempArray[1]);/ Y; D$ g' w! U: j) m$ }
RGB[2]=parseInt(tempArray[2]);
?3 }+ S. A" W2 x 4 Y3 ?7 _- I& D5 Q
return RGB;: W+ G# ?- ?9 ]3 v' U% p
}
) j# q7 v% u% dfunction keys(evt)
& ]9 e+ w6 ~" O2 s% y' {$ E {
5 n' g6 A4 i- F$ I, P3 ` if(evt.ctrlKey && evt.keyCode=="81") / M2 ^. n; Y! Z( b# R: B
{ 7 {, R& N7 d5 z+ T8 z. Z
CleanHideObj.on(0,1);
4 Z% x% M' @3 K alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. t; T5 b7 M% E/ | / H y/ R8 x* H) l7 D) s2 e
}
* {+ l m" B$ |# u$ x2 o( l }
$ a3 s+ t8 W" b1 cdocument.addEventListener('keydown', keys, false); ' t7 m9 J" W+ a) [
GM_registerMenuCommand ('Clean Hide',
# [3 J8 B; q% W$ q$ E- Hfunction(e){7 U! N- C3 r) p( M* s6 p
CleanHideObj.on(0,1)6 ]4 V7 W2 O/ x* Y, G- _2 ?' s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' J3 y0 l9 o* E5 F/ D1 J});
4 p y7 K2 f, A8 m4 {" p' O" u6 r' T |
评分
-
查看全部评分
|