|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' B6 ?* O. e% \% p& \- |* a q
s/ ~* i6 U5 h; N- N
火狐插件,用猴子
3 K" F# d( H+ f0 j% F9 C2 b2 ^# U9 y& J" m& j
var debug=false; ' ]; A" O1 V1 u, q
var CleanHideObj=new CleanHideClass();
8 C6 u1 Y* n5 f/ a8 _0 g( _: l- }' Z% b4 l) A
function CleanHideClass() 1 ^0 N! }9 O8 T6 T1 B5 Y" o5 e b
{
$ _0 D+ `3 Y! {: B( d+ d" O , l, O* U- `2 g! i& K6 E
this.on=function(id,bMZ)1 l9 x f) o S) `8 q2 a& F
{
" O% C6 y) W0 M# @5 M l# v7 P; k
/ S' X1 {3 f0 ~: s- n if(id == 0)
1 V9 {( V* I3 e) X o {
) }8 o% w/ K" C' l+ L: O [9 k7 { var page=/* document.getElementById("content").contentDocument */document; * B' G' l7 f' b8 z
this.RemoveHide(page,"span");6 N( p( m' V. ^$ ]& @4 M
this.RemoveHide(page,"font");
# c( W, k* A0 l* [- Q' [& Q this.RemoveHide(page,"div");
# T$ Q$ Z" v- \# l this.RemoveHide(page,"p");2 ~) D; ~$ `- ]" T) t
$ y8 t0 U8 J8 X. ~
}
( i' w9 [, S8 T3 ~! F% r * s! Y! a& c( V: b& T7 d4 t
}1 f) A0 a$ T5 B9 C
this.getobjstyle=function(node,prop); a5 e' i% p) N9 t& c1 r6 `
{$ ]* S+ `3 k: m2 V1 G
try
5 o+ u7 c3 K) `" }3 B$ ]- T/ s8 Z {
. p5 B5 t* v( G7 J# E return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ M5 K% x6 v- [2 N }& ?$ t# k; {' L: z/ M$ e" `* E
catch(e)+ E8 S( x( Q+ X5 C% h' m
{
; M" S G! l6 O% R+ }' E6 s if(debug): t# V& u6 p$ w+ q. }& \
{
) D X" H* c) r0 L3 { alert(e.message);
8 U# R6 |+ _3 h: t, j/ d, R. p) j }8 j$ [3 t) q6 f
1 A# Y1 L2 D# a) m
return "200";2 v, h# [- M' }; M, K6 r0 z7 D
}
- o$ j: O& ^- z$ D' A }5 s0 [! z9 \# D' ~1 I& C/ t+ e
) V. Z1 m9 N+ [/ k+ T this.RemoveHide=function(page,objname)
' U+ M @8 C) G, @ {
) A/ k* P- K# U3 u+ A! S* O7 `) F try( ]& i$ F% Q0 K2 I
{
4 S. J1 Y( z9 [; |* b# E var minValue=15;
9 g6 o1 x: e+ h c var objs=page.getElementsByTagName(objname);
. F' I! n( G; }. e5 w2 {
8 e5 Q, C; @; T. P1 T if(objs.length == 0)
% M8 }7 A1 ^# v5 m {
b. U K8 Y. _* r& _& M ]& P5 h if(debug)
3 t. l4 `- C% } e7 e( ? {3 v$ f+ V6 b: ~
alert("no object found!:"+objname);
7 @) \% g7 W7 d' ^2 v }7 t; H" v$ e3 T$ N
}
/ T& H9 \9 h' d else
# V2 E4 D" F: [" ~ {" [! q% |# Q2 y4 g" C! @% K# u( o# T9 K
! f' \4 p' I6 G3 b% x7 j9 e
for(var i=objs.length-1;i>=0;i--) ; Q0 a- {' N y- h: e1 W2 s# S
{% S$ l, Q& }2 N; K+ I
var node=objs.item(i); % j4 Q; z* n% y
% L& [8 E4 A# U" u5 ?: O) ~( |
9 Q9 }5 p: R1 |6 A) A if(this.getobjstyle(node,"display") == "none" ||
% y9 J7 x; Z, i Y this.getobjstyle(node,"visibility") =="hidden" ||1 G' A$ Z9 _ P; ~3 R
parseInt(this.getobjstyle(node,"font-size")) == 0)
" K6 H q' F, g3 g {3 x$ ?" {; K/ D
if(debug)
( d( I' N1 z& @% X- Z& Q b+ n {
. E) B) d. G& `5 L alert("remove invisiable!");
5 r; i6 l: J$ M! Z' x }: H- f# ]1 E, A# `
node.parentNode.removeChild(node);
; a' ?2 ?% k6 l / U1 W @8 B8 |/ j% _: U+ h
}; D: c5 i7 n8 Y$ L4 f" l E
else
% j+ ~- l: z$ Y9 D8 d$ j {
r! T# k# o/ ~& l9 W* k; o" w if(node.parentNode) 1 Z* o F% W. e
{. S- P6 L2 {# d- a# h# ]! |; u O) {; G
var orgNode=node;9 L2 p7 D( K8 p" r( M7 n
var orgColor=this.getobjstyle(orgNode,"color")
& C m" D' {9 I/ m' y5 J3 _ var orgRGB=getRGB(orgColor);
" l4 F3 s1 w0 f! D6 c% _ 0 I6 B( g7 |' `2 w
var parentNode=node.parentNode
n1 D1 N* k8 [# y$ Y+ G( ? var parentBgColor=this.getobjstyle(parentNode,"background-color");* z, A! ?) C. S8 i
3 g( c6 T8 I$ A+ w! h9 m$ t+ D5 V
var isLast=false;4 E" k# s# }. c7 ?
3 a3 X8 l7 L2 U& a" j. k while(parentBgColor == "transparent")
& |# s+ C& e k6 p* H( S" ^ { y' |$ t) Q9 _4 M5 E! c
: K/ U! a' M6 X4 U5 E
$ G# x- l) [3 x" g: j$ ~
if(parentNode.parentNode == null)& n2 |, I6 r+ I+ @+ @
{$ k2 `; s3 A6 n. k: u! y) t( h" L
isLast=true;8 t6 ~+ @# ~& o% x/ k, j
break;
+ d9 c- R( m! [6 k6 f5 j }
) g& K9 J- b6 w6 X parentNode=parentNode.parentNode;
. e$ e, O4 ? _' J" s parentBgColor=this.getobjstyle(parentNode,"background-color");
! B* U" ^# F. {( }$ c& v' Z0 v
! r) x1 s! s7 n if(parentBgColor != "transparent")
4 p4 F/ d0 t6 ~& j7 K {8 t4 _- }- T/ T& M, r* {: m* A
break;
# I7 X, K. u- @: W9 X- G }7 ?! D p$ I* J4 f
}7 T% o/ v( H+ t
if(isLast) * _* S% @/ Q( L# `, r2 b$ s1 B* U
{" O* g- k: w: o% w' Y2 d
if(debug)
& |& |6 H: n9 G& T ?, U {
+ r, P$ E" F# O4 b/ h2 [; i5 o; R alert("last!!");
/ R+ ]* [; t! I }$ N& F |/ k& Q+ m, _6 M
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, k0 `' W% M, W/ N- _7 s {
p8 m: h+ R- Q! d* I$ Z# q orgNode.parentNode.removeChild(orgNode); # {" R) W7 X5 L/ w
}
I; y/ |3 ?4 s; f! ] }( U( R# f% }: Q( L# c
else
# l/ `; y$ e$ E+ k {( H( E' P: e) m! c8 h- [- R
if(debug)
2 N1 |! e3 |% B/ q; v4 \, b {
# K$ K/ y* I+ } alert("compare color and parent bgcolor!");/ u( T1 o) p2 A4 ~9 [( C$ F1 {
}3 B7 X7 L# t4 G1 ~
parentBgRGB=getRGB(parentBgColor);
, j: \ L6 @: [- X6 L# A6 S, W if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- K; A) G2 M- W7 [* C
{
/ G; ~, ~! c1 m: ` orgNode.parentNode.removeChild(orgNode);
2 W' F5 M4 p% Q9 Q9 r& p }1 B) E1 `6 j4 g/ u0 `
}) h. ~% k! q8 k
}
* {7 F+ E& _6 y9 @0 m }
! a) [4 j* W" c* c6 Y }0 j% u$ n. ]4 `3 @; _; Q! t
}
7 x: _# j$ Z. L$ ^/ _ % _" q, D7 h4 L5 ]! G4 j& `
# W6 ~! Y# J# A% } var itemFrames = page.getElementsByTagName("frame");
6 y K& y2 r2 h9 Y5 p5 G var itemiFrames = page.getElementsByTagName("iframe");$ c5 J- a- m2 C* g h3 q+ m
- H3 J4 I( u ` var frame, iframe;
: y. J- p2 A& B* X' x+ ?0 e& q if (itemFrames.length > 0)* d1 }& R, }- [) ^" [
{$ C7 B" w2 o8 n1 h
for (var i = 0 ; i< itemFrames.length ; i++) J0 M, r/ B' Z% r$ g, b
{9 a! I0 z Y' b( s( A+ H% E
frame = itemFrames.contentDocument;
/ X, {6 |: D$ e6 |/ Y% h this.RemoveHide(frame,objname);
9 b4 m9 X4 C$ K' k }
) t4 o* _' \- Z0 P1 v }. M8 n7 v7 }, T9 \
if (itemiFrames.length > 0)( {1 D$ ~4 W+ n$ d8 t- {$ ?: e
{% Q# p9 T! \3 i
for (var i = 0 ; i < itemiFrames.length ; i++)
% W* t" A- R0 ]4 M {
. n% n% n/ x+ U2 @% Q% X iframe = itemiFrames.contentDocument;: l. P7 |2 s$ _ b
this.RemoveHide(iframe,objname); ; C5 ? N4 g1 k% L) S2 N
}5 t" U1 j" S9 L5 W/ E
}1 Y% ? m* K$ ?
}
! p7 a; ]% i* f) F" a* U# g catch(e)
- c R+ y7 Q9 ~ {2 L F. a: T/ v0 K0 ~
if(debug)
9 F/ K) X7 L7 K$ T: J+ o! U {
0 v2 M5 ~1 _; K' ]/ \4 ?) e alert(e.message);- t. \+ {& [4 A& {, l4 E s: ^9 J3 Q
}
) r! r9 n# f9 a1 [8 v: i9 m; X }6 g8 B' t2 W* A
}
3 ^0 Z1 v! U* U3 O' ~
7 s6 p5 | S* T}
M; z( O+ b, \; l- U1 B6 v1 N0 m, p; s$ `
function getRGB(colorString)" s4 F% P, b5 v/ c1 F4 O; I
{
% {! X& e9 K: y3 b3 R var RGB = new Array;
9 Y! l9 j6 X- g" H3 o( ?1 B var tempSting=colorString.substring(4,colorString.length-1);# a' b" Y0 l8 F# m% p6 }. c
var tempArray=tempSting.split(",");7 }& g; d9 z4 R( t0 N
' ^$ b. [7 k7 g2 a9 Y4 f RGB[0]=parseInt(tempArray[0]);& k. i" h( R9 v# g; o# i
RGB[1]=parseInt(tempArray[1]);, z3 u2 ]6 x8 P3 `! W& v2 i, U4 C
RGB[2]=parseInt(tempArray[2]);! @3 x5 W6 [& u& L
( V7 ^0 [, \+ H! B
return RGB;
4 S6 B1 L. u: q% U}
4 o) w4 ?' o4 A! h Ifunction keys(evt)
% F7 z2 k4 Y* n1 B5 u- u- { {
/ I8 E& B& F9 j% Y: S) y6 ^) R if(evt.ctrlKey && evt.keyCode=="81") ( d' K' z, D/ f9 ^, ~$ t5 o
{
, x9 S* k& L: N: }1 G) [9 y CleanHideObj.on(0,1);
0 A, G0 y- Q: q% @, i# C, a alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 p) z" U5 c* I( F
/ i' x5 l4 H7 R3 T0 i- [+ e. t }
7 x! w6 E0 L' f$ D/ z4 E3 v# o4 { } 3 O' x) ?2 X }( a
document.addEventListener('keydown', keys, false); * X: O3 D5 e' A- J7 N% [4 j, Y4 n1 q& ^
GM_registerMenuCommand ('Clean Hide',& t& l9 E5 _# g, u' n
function(e){7 R& K4 \: ?9 I* Q4 k2 Q
CleanHideObj.on(0,1)' a0 H, \, R, A/ h: Z* s, l' H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 X( B' E. o$ b4 S});
5 |7 T; S, a' {) X |
评分
-
查看全部评分
|