|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; t( y, m* U" {' U& [
; p) v0 m) [8 c8 t, X; P火狐插件,用猴子
# w# g; x! o6 y8 W: Z) [" g: b8 n2 q
4 s" \1 w$ z' v% tvar debug=false; 5 v0 @) M" f2 I3 R
var CleanHideObj=new CleanHideClass();3 j+ L+ ^8 A% j: v# `7 a
9 S# {) T9 V* P m3 F& u" Xfunction CleanHideClass()
7 z; {- i: S& i; X7 Q7 t& u2 B{
: U& W6 `1 }/ e: n d) x& e# B# d* N/ ^) M
this.on=function(id,bMZ)
# x6 s ^5 B# E' a; e; U1 M {
% V: H$ m* g4 S
: u# `% K7 ]3 P" f; _3 w, K if(id == 0)
% q4 i/ ~3 d5 a {
) t* @. _& \& q5 z5 _6 I1 z& X' ] var page=/* document.getElementById("content").contentDocument */document; : I9 b' U* l8 C! }
this.RemoveHide(page,"span");* T& E% i- _& t, {: v
this.RemoveHide(page,"font");% E( E7 s% p; r3 H
this.RemoveHide(page,"div");
+ A0 K& u: v+ O; N this.RemoveHide(page,"p");/ r% c. q5 x3 E0 c# Y" s
+ {) _9 _ u& g: F! u, o
}9 G9 c/ O3 f$ X4 j
; M' D% S3 A) [+ a }# ~ i+ F( a$ ?( {& x B
this.getobjstyle=function(node,prop); e3 F. Y4 _- Y- p
{
% ^* M+ v7 x; o& Q try
8 R% T9 P: a, e. b( t4 J5 i {
7 V, _+ c2 F9 H) G( f return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ o) C8 g4 w/ |2 z4 v! F/ { }
; D" G8 u% v* H2 a; }* B% o catch(e)
3 {6 R/ X) v1 ~% U& N {
+ S9 O4 R1 W2 ~& b# D: a7 S& [ if(debug)
: F) w) T% ^; e2 H# x0 L {1 J9 I. S* b$ r3 I6 }4 I
alert(e.message);
; ^# n' M' R. O9 u% O8 O }! s$ z8 o* {- ^6 h4 D2 [4 Q
+ G/ a3 O" B2 }! A return "200";* N0 N' K; T; T" n8 @) z' G0 f$ f% v
}5 _9 Z& y/ y1 r/ [* ]/ M, l
}. d# n3 P& I' d2 v, g! p0 k
+ G0 [% |+ M+ j" a3 u1 N6 k
this.RemoveHide=function(page,objname): ]5 M% K3 N# b( b9 k
{/ V F2 i5 u. T; J, ]: V
try
% ]3 ?0 V% ]! R3 b& P {8 d. G3 {; e3 G) n) d, S4 ]
var minValue=15;* G$ v/ ]8 r0 t1 b
var objs=page.getElementsByTagName(objname);
9 O# C6 J7 C3 a
4 p" f' ~0 ~4 _4 O, W- z if(objs.length == 0) 6 p0 R3 M7 j/ w7 b* [' F$ r% Z
{
) y. h# p( h8 e! G/ P, }4 \4 Z; x$ d* w if(debug)
3 U* r0 Z! _! d: w {8 n7 C2 j v7 C& \
alert("no object found!:"+objname);
4 B! P& \; C5 O' O, w }7 a( m7 ~" l) m: _
}2 u1 `. H, p# s' _ \. K
else) y1 [+ I! M0 Z0 j
{: [* `6 E9 ^/ w" k
$ s6 k( ^2 g' B' a; ^4 o6 B for(var i=objs.length-1;i>=0;i--) & Z5 Q9 H; T1 u
{
6 {+ k% B( Q2 h$ j var node=objs.item(i);
2 C/ I# C7 [) p7 Q4 J
; ] p7 N. g4 Q, A
; w( s* j( z4 s2 o) Z1 |4 `9 ] if(this.getobjstyle(node,"display") == "none" ||
5 R/ L, a7 ?, o$ F' q9 r this.getobjstyle(node,"visibility") =="hidden" ||
3 q6 t6 m- {; T$ R7 e9 {9 p' r parseInt(this.getobjstyle(node,"font-size")) == 0)
& \% w" k C8 j4 g7 t {" N% P! `# ^. W
if(debug)0 t4 y9 h# s! d! O1 H
{
% z, @7 j1 F$ l4 J q4 H alert("remove invisiable!");) q' d" G* d x) S( i" s& F! c
}7 x; Z! |/ _! z; u) [+ ~
node.parentNode.removeChild(node);" I$ D# A+ r% y3 S( Z
9 D. P4 `2 k4 j8 F
}
/ |7 ]* L, D9 l) ?; t* j- R, V else
+ O3 j" ]& z" G0 u {
" H/ ~5 |( b) _ if(node.parentNode)
2 _: I# R& [& E {
0 i1 K. A) n5 C var orgNode=node;9 Z6 B, t4 ]+ \4 W5 c5 C; D4 g/ n
var orgColor=this.getobjstyle(orgNode,"color")" `6 G! m$ n" g9 H# m' [
var orgRGB=getRGB(orgColor);
' f; J5 E( U) m2 J. w# ~ e0 g
+ C9 f; K) s3 N; w- @4 Z var parentNode=node.parentNode
: A. s* ^2 ~$ q8 q& M7 @ var parentBgColor=this.getobjstyle(parentNode,"background-color");+ k; X* m" e# ]: n
, y3 o+ Z7 k3 a- U8 _1 `: U
var isLast=false;1 q8 {1 _6 \: V' y
7 V6 ~" M" E( D- \3 b0 { while(parentBgColor == "transparent")
* \8 j' e3 A5 h7 Y; \5 a' q1 W& [9 X9 j8 M {
: n7 W5 Q5 J6 R8 y4 M5 R9 Y m
; a2 B' ^( u# d/ F7 J6 |7 s0 Y 6 [7 G, b" |* m/ ~' F
if(parentNode.parentNode == null)
6 M0 C9 Q/ h# s1 Z* Z {- G% u) |5 K% ?8 A
isLast=true;8 a! ]8 ^1 U; C! ]2 I% [
break;1 J3 G% p7 d) i( _/ C
}" O1 E$ K8 n- X, ]# K
parentNode=parentNode.parentNode;
% {8 X9 A* Q9 w: {$ R parentBgColor=this.getobjstyle(parentNode,"background-color");/ u# |6 ~3 n* J: J) b
, i9 b3 x1 d: l- D; V! E# }
if(parentBgColor != "transparent")
+ }, G6 ~1 m! r6 z( H {6 j( ?6 H/ g( \. Y
break;) s- q2 g' j' P) w1 `4 ]
}
8 \3 u: {' f+ I) o% v }2 q8 r/ ?9 r& t& @+ @8 R2 e7 q
if(isLast) , m8 C% {6 K) b
{$ P+ m* U' G9 e# [& G. @' I
if(debug)) j3 \2 q5 Z; ~
{9 q& ~, V, ]' z4 J$ t* s
alert("last!!");2 F ]7 G$ W% E% m* q
}2 M# [* b- H) R- ?# @$ Z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( y: i$ e6 Z+ o4 z! v% @ {
& w/ `) D4 e, e X t orgNode.parentNode.removeChild(orgNode);
1 k4 s5 \( e; j* [2 B }9 A" G: k0 S) r
}
! V+ F/ F3 w. s9 M& q }6 k else
2 N U* X& a& v8 }) k/ h _8 d {
$ b" g0 o& H9 [7 @ if(debug)" t2 k! }' i$ U4 H( z$ s
{
/ h. y% S# `: @6 B' o alert("compare color and parent bgcolor!");) a6 @" N3 P: |6 r
}0 ?" ?8 z1 `: @5 o/ q. p9 m
parentBgRGB=getRGB(parentBgColor);1 [/ W" P# U. k& F1 k- W5 Y5 f
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 f: q0 j3 ]1 G% v1 s2 `% Q7 d {
% q) D! U1 M7 ` orgNode.parentNode.removeChild(orgNode); - L8 l/ K; V' h1 D8 W5 ]' \# f6 o
}
5 h9 D; z7 I% q9 u8 j! \9 J0 w; x }
+ B& z3 S5 L" Q, s/ | }7 {6 h2 v1 O! A. j
}
: z1 `) U! x0 Y }
* A+ w# i5 b( q" W4 N2 T }
f" P% r' q) ?8 a h
1 A0 G( H" o8 f0 f1 ]. N) g6 ~
9 o" U* T& A: O* Z var itemFrames = page.getElementsByTagName("frame");4 O8 s% b6 ?) L; X+ C* T0 I
var itemiFrames = page.getElementsByTagName("iframe");3 \3 _- ^) D+ B
3 [9 K) ?. Q* C2 N3 o) i/ Z7 f
var frame, iframe;# c- j" i" j$ [2 u/ ^: H% B
if (itemFrames.length > 0)
9 f5 `; _/ h# o+ v, E, U1 o3 c* e$ c {
9 I% X9 i' O: |3 {1 u- u7 ? for (var i = 0 ; i< itemFrames.length ; i++) ' w$ q1 R! U6 l! {7 V
{
7 |+ {$ k- e6 R0 B( ^2 x h frame = itemFrames.contentDocument;
; s0 S) R) Y* w y1 B; l this.RemoveHide(frame,objname);
! h% A- i$ G4 ]4 R% G6 O7 y }
B- G8 g( M7 O; V }
* }$ ~" ^8 r0 }& N( k9 j if (itemiFrames.length > 0)
9 ~( B0 w8 }7 r1 A |$ B {
L0 R& U/ A$ f for (var i = 0 ; i < itemiFrames.length ; i++) 5 k9 `0 W3 X) T1 r% r' d
{8 v$ q1 H! q: J+ ^& Y1 s* t5 F
iframe = itemiFrames.contentDocument;
; D# ?: @# @& B. w this.RemoveHide(iframe,objname);
( T4 j2 b6 e7 i: {0 h) ] \ }
- u3 V3 W, T5 ]+ j7 H: }, b }
& F: t4 E5 l9 \9 T$ W: ]8 o6 \ }
# ]% Q( \; n, v; J* \6 P catch(e)7 E: d* J' J( W/ g0 ?
{
5 I' q/ l0 [% I& l/ h7 _8 A' ? if(debug); G8 e4 C/ }$ R+ t
{
; X. g& U) }& n alert(e.message);& ?5 N! e5 _* i# @4 X8 h
}/ D: @$ }4 Y/ E- v; B- C: |
}5 t- b8 `7 ~5 f; h' ~6 C& _
}
. ?; U- f; a' u # H4 b G: m% O6 ?5 @* n8 H8 Q
}& c: Y) E2 g, W
. c) m! `) `& i5 nfunction getRGB(colorString)7 _! l @7 y) p- m
{7 s7 [' `9 `* ?) D a& v: c0 i
var RGB = new Array;
) g5 }- L" }' U) J: q var tempSting=colorString.substring(4,colorString.length-1);3 W |# u2 {5 H, I+ o6 R! _
var tempArray=tempSting.split(",");
1 a( U4 e) H- Q) A/ U) C1 A$ Q. A* l; A2 k
RGB[0]=parseInt(tempArray[0]);
6 O4 @. W; d# Z, r, b4 ? RGB[1]=parseInt(tempArray[1]);7 u, I% v+ G9 _- _3 N% G1 V
RGB[2]=parseInt(tempArray[2]);- a! |. O$ U; G$ @9 e9 `& E& |
* {3 U$ `4 N- p6 U8 q- e
return RGB;
/ l# v8 {" G7 l}
4 N, I% H* N2 q" f( n( dfunction keys(evt)
P: g$ r( B# O# F( `+ t! ? {
. f& d. s; U7 @9 c3 F1 g if(evt.ctrlKey && evt.keyCode=="81") ) A! f1 X$ I' Z, N& p% H* d8 a
{
+ _2 R, m& v- C F3 w CleanHideObj.on(0,1);* u Y% u& ?, N4 w" e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 s/ {5 s9 U# q9 K; | ' }+ ^& F1 o; S# R# y
}
4 ~6 e" U/ C9 o }
* l2 c$ k4 s- D0 ~8 B2 W- r; H' I+ ?document.addEventListener('keydown', keys, false); t- d# J; R/ P) X
GM_registerMenuCommand ('Clean Hide',
: S5 X+ g i: }% g* Q: U& p' sfunction(e){
. F; q% @+ ?0 wCleanHideObj.on(0,1)" j* C4 r# r1 R! i; w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: {! ]+ C- `/ u9 r2 G
});
8 b9 {# m# u7 ^ ^7 B. B |
评分
-
查看全部评分
|