|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 j4 h' n1 I8 g& Z6 k( q1 I7 M- n& D, K1 U
火狐插件,用猴子, t. k& p- i1 ~4 l7 B# d g7 y8 j
+ O& z- I( h* s2 B2 Y. Q5 F( @ rvar debug=false;
# A6 l# ]1 `" T3 [, F4 pvar CleanHideObj=new CleanHideClass();, {' p U0 a, @. b7 x" i* c
! ~" ^9 v4 B* [# z+ `* @function CleanHideClass() 5 K( z/ ]; @. v q+ L' `/ b
{
: E$ ]3 Y) m" D' M) X ; l4 B$ ~) y. r/ g( j
this.on=function(id,bMZ)7 b8 M# I& [+ ]6 {; ^; z
{, N) l* V% t1 v$ i0 j8 y ?; b
: ? [) y$ L& g: c3 i
if(id == 0)% {& n$ n0 D I) p7 j, u" l
{
3 \1 F+ N9 P9 U" Q3 { var page=/* document.getElementById("content").contentDocument */document; ( T+ R; P; `4 |! y6 J
this.RemoveHide(page,"span");2 x5 i$ B ?$ M( O6 t
this.RemoveHide(page,"font");: `2 ~8 _. p6 q+ N
this.RemoveHide(page,"div");6 X R; p. z2 H% H
this.RemoveHide(page,"p");2 `5 [# {* F. e; u- Q9 ]4 A
0 b. x% r2 h8 ^- \5 o, x, F
}
' p {( I# _" U( f8 T/ b0 u- q
% E! [$ T$ `; ^! Y }
8 [7 `) O7 O7 P8 L/ `4 P this.getobjstyle=function(node,prop)
# n/ d0 J! }" P+ q {
* _/ r x' N* C) `6 r1 J try
6 S! L2 U6 E$ P$ T7 j) y# K, C" c0 ? {& Q0 n( T) N" ^) y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 K. v4 u/ y2 i0 ~ p2 j+ X }
3 G) Y2 n% v$ f# b4 F k catch(e)2 w+ J' `9 D$ V% C4 h7 z
{% `2 k+ ^, V0 O+ t7 _% d5 R
if(debug)" v7 v6 @, H3 M7 Y! Q& ^
{
5 a$ i2 Z3 b5 Y alert(e.message);
7 T6 S& F4 N! ~ }
% h, Y U |' Q1 X 4 {1 `) b6 d; h
return "200";
8 L7 ]3 z8 o2 U; f8 N. O }- m; t* X$ [! c8 l
}
: B$ b% Q! Y d; ?0 o ( ~/ ^* T2 }3 {8 X% M( X+ ^
this.RemoveHide=function(page,objname)
$ H# V8 h- g% X; { g/ o {, O, m0 f; x; S
try
( E, F. y2 I# S {
" G7 k& G2 ?4 y3 n! X7 q var minValue=15;2 s; }* ~5 [3 ^4 p' R5 S
var objs=page.getElementsByTagName(objname);
( l' ~' H: f, d: @4 K6 ~8 N4 Y* ~
if(objs.length == 0) + V; J# e8 _: |. W9 P
{
! O: R, Z3 n; h# Y3 q2 ` if(debug)
* b/ `& E! k# A' o! _ {
5 V+ P: i) T& ]% @ alert("no object found!:"+objname);
: V1 w5 S V6 J5 g$ ]5 ] }
# S1 D+ P! ~( l* R) r }9 T) S! ?& R) I! j9 B7 j
else1 C3 |& s0 s' t4 j/ ]# q
{
! H# z: J) d, e7 u , r: V6 c/ x) q3 G4 w
for(var i=objs.length-1;i>=0;i--)
, I0 m9 P' j. M( A. }" m6 A0 E" {" x8 P {/ a# G7 I# i. r. P. G+ ~
var node=objs.item(i);
! f: l0 z9 \2 S1 t 9 H; t* }# H% y9 n" V
/ Z" }; y* Z' j) Q0 e
if(this.getobjstyle(node,"display") == "none" ||2 p- s2 r* r) W: h4 `' T3 S
this.getobjstyle(node,"visibility") =="hidden" ||
. O8 u' Y) c: A1 l) U. m parseInt(this.getobjstyle(node,"font-size")) == 0)
* j- z$ J1 r# ^! \ S {' C/ K q' p% M+ l" }
if(debug)
" P2 u% @' f, f F$ m; M/ q! ^! C: X {) N* f% T+ ^0 `( e
alert("remove invisiable!");1 {/ @& ~5 J* i+ H
}8 a& |4 K2 Q9 {: w9 k! G
node.parentNode.removeChild(node);8 H& C4 H0 K$ m
8 ?8 s( s% j# y4 r: h
}" w& f& |1 K) F
else q" ^2 L5 J" O# G# u5 T k
{$ u$ f- V! n" K }# z* B
if(node.parentNode)
! }$ e9 x* S9 R, g' W% j$ G { A/ W' r9 c; w/ W6 p ?
var orgNode=node;' m0 R" d8 o6 z0 u! A; [
var orgColor=this.getobjstyle(orgNode,"color"): K& K% Y2 l. O! u1 r* A9 h+ L
var orgRGB=getRGB(orgColor); 4 c4 N3 o- N- A, V. h( A6 I) n* F
9 e6 Q* L1 t5 V
var parentNode=node.parentNode
& u7 C( n/ ?5 x/ Z8 ] var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 M4 p: D/ r8 \! W' o . ?( Q. T, G; Z4 ^# c) U
var isLast=false;
R! T& H. r) u& z, h8 B) l6 L . |0 J. b3 ]: H9 [1 r6 b9 p+ z/ b
while(parentBgColor == "transparent") $ J( S1 z- ~5 W0 x1 }. b( r: n2 d
{; e! {$ D6 {* Z+ H2 `# B
* t' y, d9 G. B/ H# J8 l$ T4 }
5 D$ M7 A: B. H, Z. l$ m% @+ e
if(parentNode.parentNode == null)
' T0 r5 B/ y! T `' [1 Y {+ X; l0 J8 {/ r$ _2 Y9 c6 k
isLast=true;
% q# q3 T# M1 _9 J# U9 u' T break;
/ o% d0 r6 |4 _! G* I }
+ d7 z* Q [$ k9 R8 e) @3 x. i parentNode=parentNode.parentNode;8 h( ~( v& h" ~/ h4 K
parentBgColor=this.getobjstyle(parentNode,"background-color");" B( S& s0 m; G1 t8 U! g+ T
# |" j! r( c3 d. ~# U
if(parentBgColor != "transparent")
* k# h1 q/ ~0 q; s0 l4 @ {& [; \0 J, e) \1 P
break;# l& c# L; ?& h7 j3 k
}# }2 [' n% b( \% z
}* y2 O% T/ Y( `* ?$ \! i
if(isLast)
2 t4 c) E$ z: ^ r+ \ v4 | {
/ S; ~( C0 D j- T if(debug)1 B5 J3 ?7 F2 c9 L
{6 m, u* n7 {5 F9 A
alert("last!!");( S5 o: b9 e& Z
}' |( M$ R) q2 w" S4 O2 V; c$ f! b2 U+ @
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); j; \7 }0 ], X; x+ A, d
{# n7 e% l2 r+ P3 e
orgNode.parentNode.removeChild(orgNode); 4 i0 n# T Z* n
}8 X8 V4 e) K: c3 C3 S
}
' k7 Q9 n( [( X9 _3 B else% Q" R' x; e5 A4 ^ d" S2 r0 O
{3 Q% G2 X! Z7 K$ P- M# T+ j
if(debug)6 k* o# Y( a2 \4 Y+ V
{ @7 l% ]. }) `# Z
alert("compare color and parent bgcolor!");4 i( r! {5 p( E
}
% I$ P. {2 s' B7 K parentBgRGB=getRGB(parentBgColor);
8 |; a4 o2 b9 f A6 X if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( e- j4 X" {1 m" r2 a0 l {
1 k6 ?6 T9 B3 u* s orgNode.parentNode.removeChild(orgNode);
I# ^) k, ~) F }
0 P k3 A+ f: h5 C! J8 o4 ^ }5 C o- O9 r% u+ W) P( K+ b
}
$ Q9 ~. @# ^4 O* j5 T% N }
' x8 v. t4 W; n/ Z7 v }
. k. j+ x. j( i9 `' u; g }3 o5 @- W# t- P( D# d5 D
: x* d; _. j9 Y
7 g0 [* @1 d" L$ o; ~$ n$ a: ]
var itemFrames = page.getElementsByTagName("frame");
/ a2 X( v4 W4 P" q1 e var itemiFrames = page.getElementsByTagName("iframe");" ?: }1 ]( Z9 j- J1 i1 [
) ]$ r# ]+ |/ R4 ^! p2 P
var frame, iframe;
" i* _1 |& {) e- f if (itemFrames.length > 0)$ S) K" Q5 ^% W+ y* e0 N' K& a) S
{$ }4 d3 ^4 @2 v" j. T
for (var i = 0 ; i< itemFrames.length ; i++)
7 N" J) O6 |7 |# z$ h: h$ c {
, I) o6 l8 Y! F9 m: ` frame = itemFrames.contentDocument;
/ C& w5 a" O3 Y& J' C$ V0 M3 j; | this.RemoveHide(frame,objname); : j* p: R2 l# }
}4 I3 _ g: n& h" Z& N& ]8 J
}
; D! W" @+ ^9 J! y! c( Y" P if (itemiFrames.length > 0)4 i( w, T: h" E, X- L
{- C/ t( ^! z$ a/ C
for (var i = 0 ; i < itemiFrames.length ; i++) 6 C1 u/ q3 |' W: ^! s2 { D
{1 p- L0 F; w8 U4 M
iframe = itemiFrames.contentDocument;
8 W- H; F2 L- S* ^+ c# H7 X this.RemoveHide(iframe,objname);
9 c+ d" }+ D0 W9 } }
' C% x9 \% C U+ J; Q5 ? }' [. N# ~9 O5 I6 Z& {8 s
}
2 _' W5 A0 u% y; A* d& g+ A5 F i catch(e)" r' I5 r H. j* o4 }
{* \0 {% e4 m& |$ h6 o
if(debug)
+ J. ~! O" i# A! R+ j {. I% u( ], L' `. X/ m
alert(e.message);
) x. p4 x) D9 R; V3 y* E }
0 ^& H; f' U; o% j' j }9 h, F6 o& V9 ~) X0 s
}
1 d, d& \* t) O+ P; b & F0 T a- o! ?$ O' Z# F1 m
}
7 o- s+ ?6 A- q9 p, s1 o8 ?$ D; ~; z; @
function getRGB(colorString)
- Z2 M% a: _4 w2 R6 T{5 q$ M1 y! w# z5 a
var RGB = new Array;
! R) E) L8 z5 V7 M var tempSting=colorString.substring(4,colorString.length-1);" p0 S9 l4 k# p# Z
var tempArray=tempSting.split(",");+ W: A, f2 o- J/ c5 z r% p
7 d8 [/ [$ I3 Y' i( \
RGB[0]=parseInt(tempArray[0]);
% z6 r" O3 |" |8 O# n RGB[1]=parseInt(tempArray[1]);
6 R) {$ N2 ]) Y0 s RGB[2]=parseInt(tempArray[2]);& V6 e8 l5 v- c9 k* c1 u
$ h6 Y/ |9 i1 F6 g- a. F# t! _ return RGB;( n' l! B+ l; c! [ }. j
}' [% p; c5 ` M( C2 R3 C- L; }8 r
function keys(evt)
& I3 G2 v& Z* `1 P% r7 {6 K { 0 p; ~2 k# y0 y0 i( m, G) A
if(evt.ctrlKey && evt.keyCode=="81")
* j1 [# O! q. l6 w) w8 ` { ( Y4 Q& J- Y# |- T- `
CleanHideObj.on(0,1);
1 L3 l2 T9 I1 W1 L, f( n/ u z" [ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# R% ^7 @) S" |' e
& T5 E t, T! N* c$ n! |% L; u }
: }9 Q. R7 {3 K) o! m% U8 ?1 H! t }
& x# ?& X& p6 Y' adocument.addEventListener('keydown', keys, false); ; O! l" U. ^8 W' X
GM_registerMenuCommand ('Clean Hide',; [% y- ^$ [% ]! D% ?0 `
function(e){
1 v& Z5 N# S2 D; YCleanHideObj.on(0,1)
3 ?* k/ n! A2 O7 F6 B8 _alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, Z \6 p" {, l/ x' M) K});
" y* |9 m2 N1 m" Q5 \ |
评分
-
查看全部评分
|