|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 t$ ~* {- ?1 {: Y( y. f( `4 u: m d% u
火狐插件,用猴子7 k+ l8 T8 c9 j' G$ f' D
{6 u8 ~. o5 o# ^* N( Ovar debug=false; 1 R. F( W3 Y$ d' Q% d
var CleanHideObj=new CleanHideClass(); }/ ?/ [% `4 s$ o
V+ @, B F! Y6 A" p. {5 g# a' y
function CleanHideClass() 2 t' T: H0 P# k) p3 s5 r5 {
{
9 T4 y M' s8 K6 `/ C8 S9 J , }0 J. T$ N+ k# K5 L4 a2 a
this.on=function(id,bMZ)
/ B/ v/ q0 ?+ o$ G4 \1 F {. v+ M! I S" {. |/ u9 M
4 S! ?! u! y) K' [ d* ^% W if(id == 0)
# U$ v. V! r# F; B {
8 b* O2 |4 t1 p, D: a% l5 o var page=/* document.getElementById("content").contentDocument */document; ! Q5 }# s- J. g6 }# @5 E2 Y" E
this.RemoveHide(page,"span");$ u* R" P- |+ x1 N% f, H
this.RemoveHide(page,"font");
4 A1 R V a6 q3 b' T& L this.RemoveHide(page,"div");& r8 Z# ^) J: f2 L
this.RemoveHide(page,"p");3 [- Z' h( i" b z N( N+ W
, s$ D* R$ c& m; Z
}3 e! ~. o9 A0 c, B
, k" V# o/ s. s1 v6 \, Y }
% N* m1 @( U* K, x1 e this.getobjstyle=function(node,prop)
) ?: |6 H0 a" j# f2 z% W& I7 U {
5 l) {' A: ^6 N& E try
5 o, O8 v" E5 I2 L {: d% o" W% v. M% L; _2 [
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 \- b+ Z" I( S8 M7 h" o }- W' R+ X- }, \- \! m7 g' D
catch(e)
$ ^$ E! C' L' r$ a- t+ {$ f2 U6 i {) [6 Q4 Q2 W$ Q4 j1 a" O+ A
if(debug); D; E& i3 O, P+ u+ ~: k9 y! H
{
0 H/ y9 Y, l3 k6 ~ u9 l alert(e.message);
4 K. ^: W+ U& A- t; X, {( _ }2 O; f4 g5 i& c& J2 v
9 |- k) [' P. V; g( o6 c return "200";6 E$ z2 u- w( o* I
}
4 |# u: m6 _% M* G" C }
( p. j+ e1 Y4 E* G& x7 a9 c $ V% D7 n4 A( q
this.RemoveHide=function(page,objname)
* h9 r- l& z& D. H# A( U4 i9 C f {
: r+ b1 a% T; T' g8 } try+ e3 @6 k. v0 A! J8 a! {8 v; y( O
{
. A. {# k/ L7 o7 E: b var minValue=15; `8 A7 `) s7 C A6 c0 R h
var objs=page.getElementsByTagName(objname); 9 C/ a& n! G& U" G
$ c/ H; l& W) o& B& M! o if(objs.length == 0) ; h! w" o# X5 S4 P- K
{0 I& r$ c# e& A3 G0 a- M0 s
if(debug)$ M0 T& L+ W* ]2 K
{% m' N. u' @4 ]3 g5 |/ ^' O
alert("no object found!:"+objname);
+ A. U+ [+ w' {& z1 D; L }
' ?; t/ }0 |$ p2 o/ w* I }
4 Z, w D* W# M: z: v% Z else/ Q4 ]3 K2 Z2 D& s, e2 L( L; r
{: C% y! U% }% c) ]# }; A0 |
+ ?( c/ ^8 R: G- h/ |+ p- q
for(var i=objs.length-1;i>=0;i--) 7 H7 \" O& ?5 @( H7 Y, B# {* N6 q
{3 A1 x2 a, L3 W! P0 L2 b, n
var node=objs.item(i); ( p. r+ Y% E* @0 |* Z& |
1 }4 @, y2 I% ?6 {6 y9 ~- C 3 t$ S; ]# q+ ^' K# A, k! B3 Z
if(this.getobjstyle(node,"display") == "none" ||
6 u7 \) X2 b# e1 l% b T9 z this.getobjstyle(node,"visibility") =="hidden" ||/ Y# f& t o% c% I+ p# l0 B! }
parseInt(this.getobjstyle(node,"font-size")) == 0)
( b O) R# o# N6 T# L {
+ X8 D; R' ?* W _0 E- [ if(debug)
4 g) S9 ?* Z5 I* D8 f8 J" ?" } {8 y0 r# f/ x7 L
alert("remove invisiable!");% W% u1 ?; f; M
}( X) K# ^+ p. k4 T) i! O O
node.parentNode.removeChild(node);; b: A' F& m+ }2 l
+ B+ y$ @# j) m$ E }9 b( |& {8 [9 M2 x
else
5 a0 i8 U4 r; W/ W: K7 N& B+ g. b. d {
( E; G: y# I! O. S# u" Q0 B if(node.parentNode) 7 s2 O$ R) d3 t7 F- t) K
{# ]6 m2 Z" Q' A h6 C% q
var orgNode=node;: x: [ s' B4 G$ a& I
var orgColor=this.getobjstyle(orgNode,"color")
* q6 H3 L+ {/ V x var orgRGB=getRGB(orgColor);
9 c3 U5 X. J7 u; N! D2 c; J% F
6 ]8 W$ n/ J2 H5 V var parentNode=node.parentNode
8 A4 K6 x8 {8 D1 w. g8 J) V0 E6 U var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ C! u0 X: Y1 L- `2 ] ! C0 x5 X1 G$ W2 D! s% T
var isLast=false;+ {! a* y1 J; x$ r" m4 Q
5 n' L$ b I& c2 \# ~$ f% y. y
while(parentBgColor == "transparent") . O$ [, P& N. J* |( ~) u6 G& G
{5 b9 R9 q% j7 F9 s9 |& [# u
. N8 D( v0 G) H! P% f2 S$ o$ A 8 |4 }2 X4 k9 l' w9 I
if(parentNode.parentNode == null)* v; [. ^$ C7 B5 ^7 H, n
{
5 h- n- i& q* B; p isLast=true;7 m$ }- D3 S% E- Z) j5 Z$ w5 n
break;
! O5 B8 c5 \! Z" W7 E$ G }5 B( R( U$ I) B, |6 |
parentNode=parentNode.parentNode;- W4 K' G, K3 t- ~
parentBgColor=this.getobjstyle(parentNode,"background-color");
4 |% F8 f* f5 N/ W, Z$ v& W/ v
/ k& C6 T s* K# M if(parentBgColor != "transparent")
- }$ [7 N$ K/ {+ v& m. k6 n1 f {
7 Y! P4 e/ W0 R* r break;) t9 s+ ^3 U, e9 J6 i$ F; R" L3 W
}& [' p$ e8 ~8 F) t4 E, A, X3 H
}
. S3 K5 s! [! p$ s; u if(isLast) 8 M* e2 _; Z0 Y! b+ N
{' o1 c/ `; ]; G7 B) g
if(debug)4 Y8 c7 C, w# p' \7 d- c
{! S6 W0 Y E5 {3 D' P2 a
alert("last!!");' E! ~- [' Z. z2 A7 v9 S
}
0 l8 B" P& S& ^* S1 s3 t if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 a+ j- v8 I* `1 T; | {
: u+ {& k" e _& N Z3 Y: K% d orgNode.parentNode.removeChild(orgNode);
; ^8 d o' u& m R2 D }0 t; l/ v; x& ?( \
}* e) X/ v C# U1 ?- V
else
: @( S8 s1 X P1 p. `' f' L% g {
. [& \' ]7 J; D% H9 P if(debug)8 G8 a2 i: B5 d2 \! L" v2 d
{
5 b' ?6 o+ \$ ` U# Q% t7 o alert("compare color and parent bgcolor!");
7 N: T [0 r$ K6 V3 j$ T9 T. z* @ }9 s5 \" w# h. u9 @# q1 W* w7 w: V- q
parentBgRGB=getRGB(parentBgColor);
6 H' u7 M0 E- t0 m/ S if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 O9 D- `* U: P5 q; T) O! b" u( u3 ` {3 Y- {4 m5 d2 d% v, v
orgNode.parentNode.removeChild(orgNode);
3 b9 k- {8 ^. |5 Z- T8 o! r }$ A# u, W9 Q$ e
}
# S6 P0 D% k, q5 ?$ Y) m& E }
* v2 y7 j2 h' W6 g5 \& Z }
& @5 ]- p( |1 P8 a4 U }2 ~; P& W& C9 K0 L$ G7 k. L
}
, r8 J' j" W$ k9 ^- V 6 u' U: C- E4 b& o
p7 g8 u* i! B/ Q1 c var itemFrames = page.getElementsByTagName("frame");" i9 M, M H* f9 t+ }
var itemiFrames = page.getElementsByTagName("iframe");* X5 p; B |5 v# [0 }
% V5 g7 J# i _3 \& u# y# E var frame, iframe;
; o- L' S% j- B0 E if (itemFrames.length > 0)
2 ?4 Z/ y5 ?: k( { {- y( T2 O1 a3 M
for (var i = 0 ; i< itemFrames.length ; i++)
% a' `: A2 M. f# t9 r* m {# q# [5 z6 l' T! N" _
frame = itemFrames.contentDocument;/ I% q% n, d5 u
this.RemoveHide(frame,objname); - ^+ E& T" A$ ?: s4 y2 Q4 u
}: g; q! [/ B) ^; v! ^
}$ u2 c6 Z5 V; ^0 `% k3 `
if (itemiFrames.length > 0)! y, `: x; r1 h- w! S1 U* |5 K
{4 Z# l8 ^7 G8 K( x) P+ m
for (var i = 0 ; i < itemiFrames.length ; i++)
5 e' F1 D# V P$ Y {
/ i2 q" Z, A; s E* D$ j/ p, F iframe = itemiFrames.contentDocument;
6 W0 l- n! p8 f0 I6 y" c& x this.RemoveHide(iframe,objname);
0 G# V' k# u6 ` }, r3 k# R0 ]- B2 |# O
}( {4 x3 d% L8 _8 G
}2 u" K; T/ X) n1 a& E8 E
catch(e)5 t# Q+ v/ Z: L+ [
{
% M- \$ Y' ^2 `; F5 E if(debug)% n1 S( `9 L' Y) i( }( K
{
. }( n+ B# A$ L alert(e.message);
- e& E5 h i) c; j$ q C# V9 f3 X, J) E }4 Z( r' e1 @+ C6 j3 o
}
5 c! ~. P) F: o) f5 e8 X( s }0 @, u1 G2 z; [1 O. J W& X/ C
8 e! a N/ [* S
}
1 A# \ Y4 Q5 C5 I+ n2 m$ F- b+ L' ~" r: c8 o; b: G# [
function getRGB(colorString)2 {( ^; `0 W# |3 q* ?( b# J
{
/ N# n1 i( I) X F var RGB = new Array; [; d) d; Z6 R& ~7 m- y8 c
var tempSting=colorString.substring(4,colorString.length-1);
4 I3 K+ @ I! O var tempArray=tempSting.split(",");% W. C4 @) ]7 N- i
1 _8 H0 v: L4 L' N" @ \- i3 P, H+ f RGB[0]=parseInt(tempArray[0]);" v& `7 C6 ^4 S: m/ }# d' h
RGB[1]=parseInt(tempArray[1]);
: g: s! K! \- x% X+ r7 C RGB[2]=parseInt(tempArray[2]);& T* Y6 b5 L! O8 c- X) O" l, e
' M( v$ d1 o0 [
return RGB;4 h" m9 k7 Y S: e6 W3 u' `
}
# ]0 ]* W* z2 v" S; ~6 F- |- t% Ufunction keys(evt) $ B" \9 h b& [/ ~; x8 Q* y% H7 o8 v
{ ; W* Q7 V/ q& z* L
if(evt.ctrlKey && evt.keyCode=="81") ( o w8 i8 R- c2 t2 F; B `
{ " s: x6 H4 i6 I
CleanHideObj.on(0,1);6 _( S( N/ u" q# W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' Y7 h6 @/ _7 j* H$ U' R& S) N: T) \7 i6 j
- r$ n6 E$ K3 w0 w) q. B } 4 t1 |8 f7 K7 t% O v0 |5 t
}
) O4 Q% ~: J/ r* g* Ldocument.addEventListener('keydown', keys, false);
$ K6 x. ^/ B9 |/ `GM_registerMenuCommand ('Clean Hide',
0 J2 E) b( K; j# S0 s- I+ C3 Sfunction(e){
% s4 G' t; x7 M) hCleanHideObj.on(0,1)
; }7 Z% y' ~3 T3 Q4 H. Lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) A$ k G2 q& P4 L2 ^5 A) ?
});" I+ |7 H3 O& C1 o: j$ r( J7 Q
|
评分
-
查看全部评分
|