|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 l4 {1 c7 u# Q; G# P1 C
5 j9 J7 \$ Q1 k- a
火狐插件,用猴子4 l' x: {, E( D% ~6 v5 v9 A
& o3 G# c" L/ pvar debug=false;
' G5 U7 B% V2 x. ^5 [& Yvar CleanHideObj=new CleanHideClass();
) ]; S! Z1 t3 m; o
7 C* r8 P$ j M: B0 a2 z) U* Yfunction CleanHideClass() 1 b0 a, z% |+ W
{ ( R; L* \! C5 z; y6 G! u- N3 {3 s
* W1 x4 n# E) O# M$ o this.on=function(id,bMZ)% V* l0 D0 r% F4 h$ m- D5 E
{
% Q6 |( W3 _6 L 6 s, }! V& K# ?* }4 k8 s; e+ Q
if(id == 0)3 A1 ^% q/ I: n2 d* V, F1 m
{$ D2 V* K ?5 p- R
var page=/* document.getElementById("content").contentDocument */document;
# ^, t' [3 k( \' h this.RemoveHide(page,"span");+ j; t; w2 k$ t3 q% A7 U, I' q
this.RemoveHide(page,"font");9 Q& ]2 r8 a$ L& `
this.RemoveHide(page,"div");: p4 E9 ~& f& H$ u
this.RemoveHide(page,"p");" K6 y0 G. z5 R0 L1 Q, a
8 D4 G: s% r3 U- l+ o+ c" n
}. d0 c( o1 Z$ P6 S
: u8 @: H+ ^) U3 H& v/ x+ g. }
}2 r5 e3 w2 P: p2 g
this.getobjstyle=function(node,prop)
/ e) m( V# M) n9 D {
( M" d! h" z3 y2 z6 r4 S; ~! L6 a try( v+ l& [: k5 T- Y0 {/ ^3 G" a
{
7 a' W- ~- c/ i. C2 e$ o f1 B return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: l; L' R `7 q2 M }) I# q5 b: i0 N2 K. @0 ?1 Z
catch(e)7 _( C! r3 l9 R
{
. c* E/ X. z! b& x. F if(debug)
; j. y7 [& k; F5 E1 [5 s b" _ {- ]) m- ^3 Q8 w2 Y% ^# b# |
alert(e.message);
( F; h+ m0 S" P# m- w }9 O6 f6 j! Q) H! K! @
" p O- L% t7 z return "200";
2 `8 f0 z2 y& y' K' ^) q; [ }* z, {' c+ ~& N4 Q) L" C, Q, ]
}( m( C; o7 Y+ J3 T8 _9 S x
8 Y0 `# K* ]5 l1 ^* J this.RemoveHide=function(page,objname)' ^3 X. J; K7 O4 g0 N! ?" {
{) L8 A) L/ N! E2 l( g: a
try
& ~4 |$ e# j+ K; \% S+ N/ Q {
+ j# v0 f- ?+ N8 q `" z' d* r var minValue=15;4 v e: z7 y S6 b& N) u
var objs=page.getElementsByTagName(objname);
/ [# {# s$ g8 i9 N% u2 ^2 F. e, v A' W9 F, v7 f, ?
if(objs.length == 0) ( N7 H' r! k* r3 u
{
4 [& P A5 @: s1 M! W2 @# } if(debug)6 ^ x5 E& l( p
{
2 L* n5 f( u" T6 \8 X alert("no object found!:"+objname);/ g1 j% T( M. {( \# e
}$ r0 C! M' S; C( H$ M1 O
}% U5 F7 K" E$ k# r: G; w {* S8 C
else
# C5 Z7 ?. T, V; @, p {
0 C% ]# V6 b. p9 O" r7 ~ ( R1 }$ }% _6 l& D! f& [
for(var i=objs.length-1;i>=0;i--)
2 k# K/ }! D3 K: X% e {3 g2 T; B4 Y2 Q& _. a
var node=objs.item(i);
3 ?/ k1 q0 Q& f4 `: |$ I& L
) ]8 x5 t$ e7 q) k9 a& [6 A9 X 0 ~3 |% k$ c7 ^; d
if(this.getobjstyle(node,"display") == "none" ||9 O' p2 }- `4 \8 V* Z: G- G2 o! J
this.getobjstyle(node,"visibility") =="hidden" ||" Y" y4 i- y7 b8 _; o! d
parseInt(this.getobjstyle(node,"font-size")) == 0)
: F% L: O* @1 q( U, n" i8 J, E {
k. |, A/ ? m0 g if(debug)
( w4 U7 H- b5 `+ T: ` {
" S2 Y, A+ c. [+ g0 R alert("remove invisiable!");* U) D" a, y5 @9 J3 p9 p' T
}
$ _. a }" p) |& f. ~6 I2 S node.parentNode.removeChild(node);
0 ]$ D, Y: O3 V 7 V6 }4 ]( m2 Z
}
9 U% i: J; L, i7 _) s else 5 o. V0 f" G; z
{# v$ W8 b3 }' z: s! R- u
if(node.parentNode) 3 \& f" n G) p4 u6 k. A3 N$ B
{
2 c: H. H$ n7 Y; E# \) W var orgNode=node;
1 t- c- U8 v$ B) P+ Z( | var orgColor=this.getobjstyle(orgNode,"color")
0 K8 |) b! |: |+ b; c0 ^# U7 v var orgRGB=getRGB(orgColor);
- k9 O0 s& @8 k6 ^
6 r0 U5 [9 J! H2 [; G2 J var parentNode=node.parentNode
+ d, |! j0 ~& d4 C0 S var parentBgColor=this.getobjstyle(parentNode,"background-color");& r6 E2 S5 c4 O
9 s$ e Y* s+ z, Q* W/ `
var isLast=false;
& K& p" C j; p% Z
1 ]: R0 U; Q+ ^) c while(parentBgColor == "transparent")
+ G3 L+ k- x: G7 L3 h7 z) q {) D4 n. W0 G7 B! A3 N2 Z( r! s
" I0 a- j3 y _
: ~- }3 U# y/ W) n. s! l& b3 y if(parentNode.parentNode == null)
3 H# J( A/ E. J0 r" _5 j: C4 U2 n {2 Y- v# l; M5 b: @) d
isLast=true;+ l4 ~, b; U$ I: Y
break;
4 P; V/ g. D5 r5 a8 z7 t4 _' L2 | }: m' w3 C% L1 l. b& s6 b. X% U! S
parentNode=parentNode.parentNode;& s/ w* g6 M$ l% E8 r1 c# \
parentBgColor=this.getobjstyle(parentNode,"background-color");
% r6 w3 U$ e+ i9 d! o' i0 o
9 s- c' K' F. O+ t+ u+ `( L if(parentBgColor != "transparent") - g- v& w( Q7 O |; V3 M
{+ Q, i8 ^- o a% y/ }8 \
break;
& e: X+ t2 N: a- |! B }0 c2 y; B+ N2 t: U) Y, H7 }
}
`& C) U& ~7 y( L if(isLast)
i2 F+ m7 i, H) d6 U {2 r C1 |1 q7 R! o5 x$ V
if(debug)! r3 ]' {6 u" m0 a3 P- q4 L
{& j% g7 N% ~8 \2 q) G) q
alert("last!!");
' Z5 w+ Q* u2 I7 F! M5 H9 n& { }
. E) u. W1 x, k# h+ L8 h4 O/ { if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 Y; l; N0 e" W8 D
{0 W, P7 K8 I0 \- |$ X
orgNode.parentNode.removeChild(orgNode);
8 ~( }& R- ^9 T( G }2 n& `$ }$ D% [
}
5 T+ M# q* e: r/ Y; Q else. x1 A- m( g4 V5 W: O
{# r" s, d& H- G; ^
if(debug)1 z3 e# s# W e! F
{
4 B" j$ o$ g2 _- w* k% C8 X alert("compare color and parent bgcolor!");, a- _4 s9 M+ \" L! ?: M3 `# \
}4 T" U- U" e% O7 t
parentBgRGB=getRGB(parentBgColor);' g# Q5 E" H- K# \2 ~. m
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* R: t2 g* C4 O$ E/ q9 f+ J
{5 V# f) J- ]) q$ S9 B. D. @ i2 {2 s
orgNode.parentNode.removeChild(orgNode);
- x) A( N( G; K% g$ W- ~, H }+ D, K: p; z S; K' n8 G
}8 K; w1 T; f6 Q5 Y7 g5 P
}$ H! |3 L* r2 a4 N' o* w
}
) p1 w. ?4 Q6 i& o8 ~; I r }( c. Y$ Y0 C5 h2 |! o8 Q
}4 e6 ]) Z+ }) d1 W+ A" H
. E! X) @1 U# C# j8 ~+ c V % v" l8 I' a/ J; }4 o
var itemFrames = page.getElementsByTagName("frame");
% V5 G- N$ ?" D+ S# t var itemiFrames = page.getElementsByTagName("iframe"); O, k( c" a$ ?" i& M$ }$ X; S
6 b: C3 N& L4 H0 U+ a5 z: w var frame, iframe;! U( N+ v' x+ k6 j/ u: _
if (itemFrames.length > 0)
* {7 [; [$ c& y0 q$ j5 i {3 V; S8 [( r$ ]$ W* t% v
for (var i = 0 ; i< itemFrames.length ; i++) : i' C& `3 p/ U. K/ E2 \, B H7 _
{
( Z. o& o# q N w }4 r9 b4 C frame = itemFrames.contentDocument;
7 z v1 ^9 ~7 l$ j+ a this.RemoveHide(frame,objname); : W9 |1 [- N) k; L3 o% G! n. ~
}; |7 \4 n! G2 ~5 I
}
; X- l8 L6 j# T% k if (itemiFrames.length > 0)
* o% K% u, J5 h- t! j {
" W# Y7 Q$ {. t, m3 f& P for (var i = 0 ; i < itemiFrames.length ; i++)
9 g1 p' t6 s/ Z; l+ c. t {" s1 ~6 F" S" M) \% w3 ]
iframe = itemiFrames.contentDocument;
' q5 M+ L A/ h1 |5 Q this.RemoveHide(iframe,objname);
; g' W) T, ^7 q5 M5 c8 L6 Q }
2 }+ B) P, \/ }3 }8 Z4 t% ? }
- c) L2 i2 B# ~7 H- ~9 | }5 |" J+ K- F1 p b* |% w- ]+ }6 H
catch(e)
; r$ G0 M' \! d1 h8 F9 X {' n- P* |+ j) j' h8 ~0 T; ?
if(debug)
; w& a. d$ N- \$ B" p7 j {
* n9 b% v9 W5 V0 d* F( ]0 C) q- f alert(e.message);
2 A) J- e- X# C3 y0 s }
* V+ l" `! l# h7 [, m3 ` }- N& G# F% m+ f0 }% V% @3 {
}
# }! U- \, W: X( v, v. @ % ~* Q/ G! V$ H% F
}& |( J$ h# d, [ t' E( Q
6 O2 {+ U8 W4 P9 @' w
function getRGB(colorString)
# c" F; @7 r% b+ W{
) [8 |6 E! U+ T% a2 {8 @# j9 F var RGB = new Array;% Z; O* b# h* B
var tempSting=colorString.substring(4,colorString.length-1);3 L1 j* j& M& f- b: z6 V! V
var tempArray=tempSting.split(",");
" b% s5 I4 L! [7 l! z; \% ^# n/ j- Y% `% K* L
RGB[0]=parseInt(tempArray[0]);
* X3 g( L& S0 C/ p RGB[1]=parseInt(tempArray[1]);
" u- E$ r8 X4 Z' U% t9 O RGB[2]=parseInt(tempArray[2]);/ _( {( ~4 i5 [2 ?' m, f
/ d8 t( c7 b7 {. {+ V return RGB;
/ v- U3 O9 g4 y( r+ [}
" _# B, r. C1 u3 I: Pfunction keys(evt) 6 M- C; ] c: C
{
/ ^8 P" h* ?, @& A% l0 p if(evt.ctrlKey && evt.keyCode=="81")
+ [* n2 o+ t4 e. Y: N4 v { " S5 H6 b" X& N9 ]# e
CleanHideObj.on(0,1);3 E: T) Y$ j! t3 n, N6 h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* t5 S P+ C. E: @. N9 m/ [
9 B- P8 J6 B( ~$ c& B1 Z9 U9 T } 0 \. D* `& z9 Q# f* L! F
} 0 e- h( h, j: V- Y5 U- ]. A8 t
document.addEventListener('keydown', keys, false); # @) R$ L$ Q2 M0 m
GM_registerMenuCommand ('Clean Hide',6 c7 g7 v5 s' a9 w. B6 n$ n9 n
function(e){4 c; ?* D. D' R0 l5 w0 s
CleanHideObj.on(0,1)
7 K. C1 g. V, ~) E6 S6 Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) g& P( Q* T& j, O% ]1 A
});1 o4 h- o% y! b
|
评分
-
查看全部评分
|