|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' N5 @5 i: \- v+ B. h
" x6 J- X) W( C- D火狐插件,用猴子 N, m9 g5 q' K' {2 A) V
7 L# F3 R7 A' L3 H7 D
var debug=false; 1 ^( d" @! b0 ^+ X$ a* }
var CleanHideObj=new CleanHideClass();8 m/ y3 q- j" h
t C, l% Q8 a2 I6 |$ }3 n5 W
function CleanHideClass()
0 {; Z' B f# d; X3 F! V* h{ 1 x) A4 F: J. d4 Z. H8 L* Q7 a
4 m2 x3 s6 t9 h this.on=function(id,bMZ)+ n+ v% F1 }9 a" _, s
{, N! O* E3 E+ z r7 `/ `% K' |
0 Y+ X7 G9 r0 o2 L+ L" _; ]. X if(id == 0)' i8 k1 z e3 m) _6 @. ?% `/ [% C
{2 {! l" {6 N7 O9 n4 o
var page=/* document.getElementById("content").contentDocument */document;
. \) B( ], p( |! g* z this.RemoveHide(page,"span");9 A1 T9 b7 h0 \$ m. l' R
this.RemoveHide(page,"font");
+ r2 k7 X& a' e this.RemoveHide(page,"div");
2 t8 h- l% D' Y2 e6 d" Q: b) s5 N this.RemoveHide(page,"p");
' w4 S. P# y6 }: p, w% J: {% G ) w+ X; J/ j3 T5 [$ l$ W
}9 X) c5 l: b, a
( D, Y$ W% Q# P# `( O3 i v
}
- Y2 u7 g4 X& L5 ?+ A this.getobjstyle=function(node,prop)( ^5 G, C @. W6 V- N
{
/ M3 K7 D3 ~) P+ t \ D/ W try0 q: i1 n0 H" [% j8 e
{* K2 _$ c8 r0 {8 h$ D; c# u
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); E3 y; x% B5 d% j4 S5 J# R
}
2 B& d$ ` k( _; i4 y, m catch(e); g% R; A/ h& B. l9 N
{" f9 {4 c6 I( o4 o3 @) {
if(debug)
. S3 _* O" z% {$ }" W; E" n {
I5 t7 A. @9 D+ m alert(e.message);
Z" K2 T) `1 n" `! u, H7 d* ^+ Z+ K }
0 {7 z$ J" T! R9 ?: D" _3 g* I ) O! t4 H3 A; ^9 U3 ?
return "200";5 H; H1 m' t) I( }; K% c7 p
}) Y" n2 E1 @6 D( y* z$ ]) a; q2 k! _
}" f' r1 P9 F+ Y) D* e# t# q
* T0 E7 s" x( r, r) a
this.RemoveHide=function(page,objname)% N( V V2 M% ~
{" W4 T9 ?+ ]6 G( q5 w, g$ w
try% E3 n2 `5 D; x; e A6 f
{
% W9 @" z& _6 D var minValue=15;
0 D2 r) G& F" }8 l5 s: I var objs=page.getElementsByTagName(objname); ' n0 j# n3 {, |. F7 \+ {( a
+ v# J4 |$ ]: w; w, M' ^ if(objs.length == 0) 8 G b& |2 h W7 `
{
! W4 d3 Y, Z/ a0 x if(debug)' T: D. Z6 q/ Y! ~/ D8 R
{) X. e( T8 o% @7 U
alert("no object found!:"+objname);* H! f* U: L* n# d* K1 ^ V- N" P
}0 G; T- K& V r5 W6 H, s
}
$ x' z# {1 h% M9 y( l else
9 s3 v' B3 W. V2 z/ }+ L {. q# r9 e* C0 ]. z# F2 Z: ^% [) ]
: N, Z3 O0 M# f" r for(var i=objs.length-1;i>=0;i--) ) E0 f) l' Z, I$ b8 \9 a1 ~8 m
{6 R2 }; ^$ Y0 |1 o
var node=objs.item(i);
3 F9 |% E: d1 H
& c$ ~5 w2 O- _, \3 Q$ l( [
% D* m; L" a/ C) _- ~& S1 q l if(this.getobjstyle(node,"display") == "none" ||0 T* m# {% L3 Q: C' o6 S
this.getobjstyle(node,"visibility") =="hidden" ||
x& v, P8 { k parseInt(this.getobjstyle(node,"font-size")) == 0) % W+ G1 b3 r \+ n
{
) s0 n' P4 G9 P( t! V if(debug)
! q1 C) f$ [8 \+ n2 y- i( }2 v {
+ H! [7 D C0 ^3 g- i6 V alert("remove invisiable!");% F# R: `. g; g% w" n' f& c3 \
}
0 q2 r3 k6 I- t% W* R& K8 F: o node.parentNode.removeChild(node);$ q* |% X3 P( z8 ?5 r H: J1 O! W
$ J9 q8 B. i$ B" Y* ~1 v }
8 u9 P" I5 y' T% g8 x% g else
6 t& n$ c" U& k' r7 ^. } {
1 }6 T+ D/ X' k if(node.parentNode) 2 E# B- x/ G" W% r# B! q
{3 M$ l- u% B$ D( h9 {: k' b
var orgNode=node;
! [' i0 G: }# U; _ var orgColor=this.getobjstyle(orgNode,"color")7 e$ x5 k% o( j
var orgRGB=getRGB(orgColor);
1 a8 H8 ^+ l* m' F - C* i( o+ b, c+ Y5 U" o
var parentNode=node.parentNode; @9 M/ a7 C. h3 o
var parentBgColor=this.getobjstyle(parentNode,"background-color");
# o8 N6 s, K/ {: s2 f5 t
# n" E7 ?6 [- m9 d# B. f var isLast=false;
# f1 ~2 B8 ~: @4 \8 D* a: N# w
: D/ I2 T1 |! E- l while(parentBgColor == "transparent")
8 ]3 [6 f* r$ X' ? {
6 m7 P% Z. N. {3 n2 {& Q9 B , {9 ?( t% k$ `4 [
6 b" E$ c" q- L+ b7 Q' Y# p+ H if(parentNode.parentNode == null)
' E8 q1 M" E" B b { q$ r: A! y5 Q
isLast=true;; K" u6 O2 G: V6 L8 ^% E2 x' M7 {: q
break;0 S8 i( l- A1 P ?% I
}
* L# E* v; B; x2 m parentNode=parentNode.parentNode;
, w7 J6 ^$ ~& u/ p9 A) D parentBgColor=this.getobjstyle(parentNode,"background-color");& @# J) f ^0 j0 F- f
$ `3 B, t7 g# ]$ } f1 R5 P if(parentBgColor != "transparent")
' x+ d9 C5 I* N& k2 b" }# W; O' X {& B$ m6 m. f) M: P
break;
0 V7 P- f# P6 |" t* o: v" b- \ }
# {0 K0 Z8 l0 k8 u2 k8 m, V }* E _& S. f: `: A' D5 a
if(isLast)
6 V* o P: S* z/ j" s {# k+ X2 U# f- I0 i2 V- C3 r7 D
if(debug)
$ O% h" L. g# j a5 d( G* w+ x) c {, ~( \( X* M: h
alert("last!!");
1 o5 s, Q% G4 u8 J }
0 S4 f# _) J. [) l if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 [! R5 S; I( y) w/ r
{9 v6 d; E; o6 s0 [5 O
orgNode.parentNode.removeChild(orgNode); " Y7 q- g) l# T1 }8 R5 G e
}
; u: N+ [$ m& i v! J v ~% Q. W }
* r! T7 r3 q \* w: i3 S: \ else; ]6 h7 V7 k5 O
{
/ Q8 L, \4 r2 j( p! H if(debug)
1 Z/ \7 {9 l+ r* c1 Q: r {; b2 Z* c+ F+ [2 a
alert("compare color and parent bgcolor!");, y# J/ y9 i: ~! H$ |/ O! g
}2 r* J8 C1 N9 A: u) e/ k" m+ J( Y" V2 C
parentBgRGB=getRGB(parentBgColor);
( F3 s$ y( ]/ S2 i if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ Q3 `4 f6 h3 A- ^" U
{/ J! I# w* T8 [9 z0 K4 }/ d! \# |+ `( B
orgNode.parentNode.removeChild(orgNode); " Y5 _$ K2 w% ^* X- `; y
}. ]) K# l1 y- S O
}
$ n# K4 t4 C( H* e; ?& J }: a9 D2 P1 |- t" ]: U
}# q Z) R1 p, c" y4 p0 E3 P% i
}7 A/ {6 f/ [# f r
}' s- o- q) z& d" n$ d" C3 _3 e ?
) c3 Z& w1 H8 R' U
! B5 d7 Y' X$ G5 T var itemFrames = page.getElementsByTagName("frame");
- y- ^- `! {8 X var itemiFrames = page.getElementsByTagName("iframe");
: o4 M% R: B0 x- L5 T7 C$ _
5 ]/ b5 f# X- k7 u1 R7 S7 Q4 V; \ var frame, iframe;( b" Q# ?1 H$ f+ z: j
if (itemFrames.length > 0)
) m+ V+ b2 q* K, R- G {
* W! V" V3 z8 b. ]/ } for (var i = 0 ; i< itemFrames.length ; i++)
7 m* k' y* H, X, { {; g o* j: N0 \0 C
frame = itemFrames.contentDocument;; w8 C3 _- Y. }9 ~
this.RemoveHide(frame,objname);
+ N8 N* }( A( I9 C# ]1 Q. R }
7 J* K" i3 X! @2 O1 n9 F }
6 m+ m: p% `( q! c* A) {& V if (itemiFrames.length > 0)/ z* a8 N( d5 k% F4 B* x
{2 y0 [3 P8 L' m- L9 |
for (var i = 0 ; i < itemiFrames.length ; i++) 5 J& }! \ S/ ]" E* `# {
{
/ ~. Z5 b1 K2 N0 v9 o6 e iframe = itemiFrames.contentDocument;# |* M8 a( X0 x; e* q
this.RemoveHide(iframe,objname); , |+ P. d; y: k2 z: ^( A% i9 ~
}8 M& Y: @6 j" ?1 L4 g. {$ g
}
4 m3 c% h" K* E; C9 f* r5 s7 ] }
- `& a+ C1 q8 A/ G catch(e)
}- p" R& g7 ~+ c. e3 r1 v! C {5 k9 C- j; z, q4 D- ?' ^% e% y1 g& \
if(debug)5 ~% n7 \5 Q: [6 q0 t, i& }3 k# Y$ H
{4 k) Q7 o: Z# W2 }/ h1 t3 C' K" O
alert(e.message);5 M- ~- o3 s: H7 U. q
}% J' Z' a- h" B: K/ n0 w) m
}: m) c' i2 m2 p5 {1 }! P1 A0 H
}
( U& a7 ?: X8 ^ 9 J, k4 W8 J7 d, p, l9 [
}' R/ O3 _' B. I" ~+ R! X
+ b0 A) ^0 v! jfunction getRGB(colorString)% T7 x! ]' J1 h+ n$ W
{. p7 o4 v3 G5 I0 F
var RGB = new Array;* O. w' h2 `6 Z' _$ U; P
var tempSting=colorString.substring(4,colorString.length-1);' E9 N$ ~- X+ W+ p [. W1 i
var tempArray=tempSting.split(",");
* o9 A n7 J) G: X% h+ L: a% A2 A) E$ C0 E% x! d
RGB[0]=parseInt(tempArray[0]);3 {7 w' W" Y6 E# o
RGB[1]=parseInt(tempArray[1]);
$ j- |5 m. S1 E6 }9 H RGB[2]=parseInt(tempArray[2]);5 h/ g) ]2 S7 J) l! Z% j* j% b$ d
" Q4 d+ t/ s, J' ?/ J5 S$ B( m8 w0 y return RGB;
6 S' Q$ i; G' h+ w7 N}! v. g, @7 g9 o7 G5 j# v$ S
function keys(evt)
9 M+ R( D/ x2 ~ { , `) L! X9 ~* N; c" {+ q( ^
if(evt.ctrlKey && evt.keyCode=="81")
/ h' ~8 O3 M" ~$ C2 r/ S9 }' D" Y. H {
; u- @/ m" O' q4 h( j( |$ K0 y- C CleanHideObj.on(0,1);; L3 N$ Z2 H2 V) ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - ~9 h* U" G' K+ B$ [2 s1 q N! n- L6 y
% j+ T l8 k: K, o } " Q9 [. G" |3 }. i
} & k& ~" r# y3 e9 T/ k7 h; ?
document.addEventListener('keydown', keys, false); 5 n0 _4 i/ Q; f) r% G: l
GM_registerMenuCommand ('Clean Hide',
3 }4 H6 y& r9 z2 r5 kfunction(e){
% s, l. v4 x; a/ e8 OCleanHideObj.on(0,1)
! G3 R# w* x+ z# @/ ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) J* |1 b' p7 N. Y+ R2 k4 l3 ]
});
7 v# T2 I+ ~/ ]' L( P |
评分
-
查看全部评分
|