|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 O A g+ Q, x/ B5 c! D) R7 K/ V% z8 \- D$ Z R
火狐插件,用猴子) ^$ i/ ^ b' z' i0 b/ s
8 x, Z+ q7 V8 G" C) D1 Evar debug=false; / z6 J" w1 C2 O. z1 [4 k8 d$ x
var CleanHideObj=new CleanHideClass();: ]/ m |" q* f, d5 C- v
2 j6 T" M7 P3 h& \7 ]9 C4 M$ V+ Zfunction CleanHideClass()
3 T( q/ z- V% o{ 9 A: ]' O1 N$ [, P
+ O a+ t& D6 _. f this.on=function(id,bMZ)
: j8 Y+ H4 h/ } {& I) p1 W- A- z, U
: o. ` W, J) U- T+ T* }3 y: ?
if(id == 0)
, G8 i' L' e/ s$ a {! e" \; P! S" e$ V
var page=/* document.getElementById("content").contentDocument */document;
1 D( o% i/ I/ j this.RemoveHide(page,"span");2 [4 b+ Y P2 m
this.RemoveHide(page,"font");
& X4 p% c) t ~) `, E* `& { this.RemoveHide(page,"div");
* y- Q0 v& P! i' [5 v this.RemoveHide(page,"p");. g/ S9 u( k# E/ c# C
0 H7 U8 B# k- z% y* d$ v }- v9 S% n, H6 O: o; z, f
2 b; f8 C$ u/ z2 Z' R& M# c }
+ E; a8 y( m% T3 o this.getobjstyle=function(node,prop)
! _: M; e$ E0 v# L2 ? {
; v# e7 y k1 G$ m' P+ D) e5 s try9 X; I- f4 m& i8 b' R" o0 p
{
7 Z/ b0 K/ \2 [# s9 G* F S# d7 b return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' e# P0 G, q7 D& N7 K& \ }+ R M5 H: F. p' h/ W( u+ f9 q: q
catch(e)4 x+ u& @5 N. G: ?! u. m3 [
{
5 s4 |4 C3 w) k! ^( g6 M if(debug)9 ?% Y7 [. q* A% _( K7 b# z
{) v' L+ p# U: j. w
alert(e.message);
5 V o! q v, g2 ^6 l$ z/ { }; w Z( I4 M1 H/ ^# O/ J; t
9 S/ q. D7 g$ v# P return "200";: A }( d1 F; I+ s, z
}
$ k" G6 S+ d4 i1 }. h5 t, b }
, r- i4 L& j* A& a! _! \' h! F% c
9 g. ~! D! n N( {# A7 V2 D this.RemoveHide=function(page,objname)
- o% y/ e7 a# R: } {6 T3 X1 ?- j% Z* D- S, _- O
try
& X+ \6 q# V6 k! I( x( a {
1 C8 K/ D2 d; g9 h* e var minValue=15;
+ d! T+ y9 L& |. X var objs=page.getElementsByTagName(objname);
# G' d1 g: d3 g+ ^# }( a1 o1 b8 I
4 l0 @! W& N( _( s0 o% d" X8 }9 g if(objs.length == 0) $ O4 G) K* W5 |1 p0 B2 N! R
{# G8 } U+ N4 q8 a k
if(debug)
& ^6 I# i! {: x& U$ g, A {" j- p. V' }7 k* e7 u/ ?% I
alert("no object found!:"+objname);0 m% q8 f5 g+ t) K
}
% B+ x f: M+ x" h$ g$ [ }3 D, l' ]6 A& d; E: J! N. t
else6 e8 W6 y/ P* y- z9 d! `
{
. S7 r: ^& Q5 N2 v+ n M2 h9 P8 w 4 T0 S% c8 K2 y4 W; ^' w6 B# e ]
for(var i=objs.length-1;i>=0;i--) , e" _. F& W' y) l7 F0 D* a
{% ?: ]: [0 v# A
var node=objs.item(i);
9 V/ I; `) F% f% _7 A/ v
) q$ n1 k# S, h
- _% O* F( [7 L1 e6 o if(this.getobjstyle(node,"display") == "none" ||' w# Q1 ?: b( Y' F2 W9 P1 J" U$ k* Z
this.getobjstyle(node,"visibility") =="hidden" ||8 p9 R/ J2 |( c, C
parseInt(this.getobjstyle(node,"font-size")) == 0) ; J: ]+ j/ i& @ \: b9 N
{
1 |! c9 _+ `- Z' e if(debug)
5 H F: Q! ?; f2 ?1 D1 q! r {, U" l# F3 e m3 s
alert("remove invisiable!");
0 F' D2 q$ F$ Z7 J" D- ?# D9 H8 P4 Y7 n }
3 ~! a2 R$ L) y# s node.parentNode.removeChild(node);
9 {& b, L2 ]9 G: F $ j2 E8 z- a& c7 y
}% {7 e1 l0 ?- }3 w+ d, T
else & ]7 D, J1 p2 n" m$ C, c% k
{( ?9 h( M8 X- a& C
if(node.parentNode) % L3 a+ [3 l' Y; r$ q
{4 h( A. P4 ~: [7 v4 T
var orgNode=node;) B# `- H4 D- k6 E
var orgColor=this.getobjstyle(orgNode,"color")" A5 o( f$ g" u9 \; J
var orgRGB=getRGB(orgColor); ; J+ X, j x$ M& ^$ Q6 N2 ^
7 Z" I; t9 n4 u- c% j: u
var parentNode=node.parentNode/ f7 ]0 i' z5 @
var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 f6 I! G* V: S" T! t5 g( I) N
9 r* Y" | c8 n2 v2 m2 W! Y var isLast=false;
1 b! F5 X- a1 h& b! B8 s0 \
+ j% H/ t$ z- M9 q) E. j6 z while(parentBgColor == "transparent")
6 s5 ]4 i# C0 ^; x6 i {! Q" v H' N) o2 R7 Q% f& I
' w/ S) W, e" |9 V6 F& a9 t
0 A2 L9 i( V, R: ^! q2 N if(parentNode.parentNode == null)
1 V) [- ~- l- N& u {; }' @3 G+ R0 S* F- m
isLast=true;# u' d' J* j) U7 M
break;
( n1 D' R) j i+ c. c$ D }- `& K: o: T, ? U$ |* a$ ^* h& v ~
parentNode=parentNode.parentNode;8 z! J7 [* X! n- ^" L( |' X" F& R
parentBgColor=this.getobjstyle(parentNode,"background-color");
" M N; _# Y7 k
9 n9 B( b/ B. t2 S0 {! m if(parentBgColor != "transparent") & [7 Y3 W; x: ~* R* o
{9 v* R0 m7 r4 U) F9 l' f! I
break;
b4 Q. o. ]' q }
\3 d2 ?9 }2 A% { }
* h/ T7 _' p9 F, M: t( ] if(isLast) 8 t; v) C& k" z. J' N& e* n) t
{# u6 s; _, u, W) t
if(debug)
4 ?: ]: O) N) T {
6 o) `) X2 S# c. I5 }9 _ alert("last!!");
; t( t) S6 _! j# i1 n, [ I9 C' Y1 L }
1 v- F# x+ d, u* w, {% O; ` if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); r% g$ f, h( h1 g
{; m& a6 l8 F+ }$ Y' t6 z& R
orgNode.parentNode.removeChild(orgNode); - G$ o" j* S' F) z0 f# A' P8 \
}
1 u* o3 z6 \% D1 M# T }
1 n# z3 l) P: P else1 i4 L% t% R7 T2 y5 E
{' z; J7 t% @& n" y" p( V
if(debug)/ v2 F2 L# f- N" F5 ~& P
{
" y2 k5 |" O8 P alert("compare color and parent bgcolor!");. \, B" \" i" x5 p5 G' g
}
7 m, B; }7 s; U8 v parentBgRGB=getRGB(parentBgColor);& r/ @& b: @- u7 | ], K! H/ j7 \5 q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' l/ U) b F) `) o9 }: s7 [0 A' @ {# b- c6 y3 ~/ V1 u. g
orgNode.parentNode.removeChild(orgNode); 0 h$ Y! h+ K0 N1 e( U% _: a
}& `" p; I- _) }4 s7 q4 {/ i$ J
}6 \& E1 o$ ^9 ` [8 P
}5 ?6 D: _, T9 R; z: m, L
}- @' M, j: |3 Y% N) q8 a* j* i
}5 |5 V9 E5 q. P" m
}
$ e+ v$ J, X3 v1 m5 Q" E& H
' \2 \2 b7 v) V
8 e2 e3 t, w& K var itemFrames = page.getElementsByTagName("frame");
; \3 G* W1 D# m( ]5 j3 C var itemiFrames = page.getElementsByTagName("iframe");( \2 U+ x g; w# [( H1 H
( N7 U( r) W- E var frame, iframe;
' r( y- ^2 m# a# t6 u if (itemFrames.length > 0)# @2 w+ ?1 n, p; _
{8 ~2 B6 m. n7 K. b! r
for (var i = 0 ; i< itemFrames.length ; i++)
1 j& M2 q1 w' G j# f {5 r) k' R4 ~: |) V
frame = itemFrames.contentDocument;
H z: [" ~* A- e3 `' {# F' @7 R6 e this.RemoveHide(frame,objname);
: `, n$ e8 g7 N* P- X }5 E& X \7 W& Y/ [
}8 b# i1 a6 ?/ o/ [
if (itemiFrames.length > 0)
' Y& g, W0 @" g! v {
7 j* D+ [; D: M for (var i = 0 ; i < itemiFrames.length ; i++)
+ ^! {( f" {) W6 H4 T( q {
+ L$ F* W9 S, ] iframe = itemiFrames.contentDocument;1 k) l% X; g3 ^! q1 Q9 c$ u" W* K
this.RemoveHide(iframe,objname);
0 y5 ~, k1 R; p8 O }; s# Z( Q( d' H6 q6 T0 z: M. A7 ^
}1 P8 N6 B9 m* {* L# Z
}
6 X0 ?, H: k+ `- s3 l: `: S catch(e)& F" ~8 G/ V4 ~
{) Q" C& Q0 J# g |
if(debug)
8 c1 z1 G( x" c {
: }7 B. L. o8 e6 {: n2 C# | alert(e.message);0 I8 E- M, Q/ a
}
+ l0 j o1 \0 Z* E9 ] }: H: E* ^: A# O) f3 Z
}4 k+ G) ^( V, t& y3 V
% U5 }8 q6 R N
}
$ `8 N1 z5 F2 k R& ~
- e3 t5 Z- I' N+ _9 |+ G* Afunction getRGB(colorString)* z& ~" u* @0 K$ I% P& b8 n
{3 i+ M6 S$ w0 V8 J
var RGB = new Array;
3 Q X5 }2 G9 ?7 z0 p( Y var tempSting=colorString.substring(4,colorString.length-1);; J5 u* }2 `; b
var tempArray=tempSting.split(",");8 e1 [2 |0 h* R
$ K; l7 {' ]0 e1 M* N9 o RGB[0]=parseInt(tempArray[0]);+ i# S- A4 G0 u f; W
RGB[1]=parseInt(tempArray[1]);
1 m8 z0 s8 r) \" q( x! O RGB[2]=parseInt(tempArray[2]);3 }3 |! v! a- j0 t8 X
: ^: C. z( |4 |
return RGB;
, @+ K: k N: h2 q0 W. d$ L" w! Q: T}
& x- d. _) p# Z6 |+ }4 ffunction keys(evt) 8 F9 l4 [2 f* O! f4 E6 u3 X
{
* w. B: W0 q' x* _ if(evt.ctrlKey && evt.keyCode=="81") 8 [- x+ b) j: ^9 R3 `
{
A, r9 H: Q5 Z$ m7 i4 ~. P CleanHideObj.on(0,1);; A8 {! ?2 a( g) j3 {* w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 Z! g- t( \" u9 T3 x
) \: U* U8 L0 c% h4 g, k) I }
" J6 k2 e, x4 a4 m: _1 Q, Z } 5 K$ C5 Q2 n! n4 H6 ?1 v0 z k
document.addEventListener('keydown', keys, false); 5 T- F1 i# s9 v# U/ r5 t" j
GM_registerMenuCommand ('Clean Hide',% G: ?3 x; _8 `& T- l$ O, @
function(e){7 v! }" ^# @+ x2 R& j! X N' w
CleanHideObj.on(0,1)
( F' s( I7 Q2 Xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, E# V9 M) ?* E8 F/ ?- ]7 I
});
S, D. d! W* ]2 [6 S$ g d' U |
评分
-
查看全部评分
|