|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 K" Z( ? l4 V* Y- o2 N- T$ i" O6 C; Z5 @9 O% C5 | w5 L+ g' i
火狐插件,用猴子
7 P( L- ~& f* i0 S+ F! I$ f% p
5 P. i8 O/ W2 t: [5 O0 ]3 rvar debug=false; + s" \ p2 L% f/ f, k6 i
var CleanHideObj=new CleanHideClass();: h& z4 @% t$ N1 F7 N6 X
k* t! m) e2 J6 n
function CleanHideClass()
1 ^1 T* Y3 E1 {6 t{ 1 m. G+ o3 g, R6 u2 ~
* t0 W# U+ k- G; R- f. a$ a0 O
this.on=function(id,bMZ)( ?; j7 D# p6 D9 G
{# T2 B' p- |6 s& m; _! z
- b1 K0 P7 H) K2 D/ Y% ~ if(id == 0)' P4 w& W1 w, C4 K% Q8 g2 g0 c
{
+ e" k+ O! c) P8 Q, @( J var page=/* document.getElementById("content").contentDocument */document; 9 ]8 A6 x( x. }1 @! r- ?4 u
this.RemoveHide(page,"span");
9 c6 p5 H) E' _* o9 K ]2 f this.RemoveHide(page,"font");
7 v5 E3 O |: a* q7 A" V this.RemoveHide(page,"div");7 R) t2 I$ ]2 Y' Y
this.RemoveHide(page,"p");
5 S# o- L+ ~. [" [- p/ k6 D
( ~1 m: u# e3 |0 K% ^9 U2 S( W" p2 K }
|1 I0 w! [' v6 U P Q+ \ }# T0 q- z* B9 k3 J/ _# J7 J
}
) n/ t" d$ a8 @6 r4 j$ O0 i, g+ A this.getobjstyle=function(node,prop)# W& D3 \6 E4 \0 ^
{ r. |0 X" H, U
try
0 \% I* g; U) l T) u {: k9 {8 q" l! x4 N8 @
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);( A8 m* i' H# {: ?* C* f% H
}. ~! U, k" Z" o* F. z) b2 i, k
catch(e)9 j4 O& J3 x" K& ^0 t
{0 ?$ x: d p7 K" F T$ F: N
if(debug)
9 ]* ~! s2 e% [, l$ ? {
, ?+ ]$ o$ ?6 y+ N5 U: b" T alert(e.message);/ r! \3 r$ D5 W& X( g, t
}/ \; M6 b' I8 @& A- r' R0 T
7 c, j. H% s! H- G/ @" V% i return "200";
: o w' \* V2 \# t) M) q% r) M }* n5 t0 @2 `5 T" j0 |4 |, r
}
/ z* b1 ?& z# D$ z+ H
0 V, r% i) F4 f/ q6 f% Q4 U this.RemoveHide=function(page,objname)3 \ p- \$ j6 O! h" ~0 m# q2 E
{
0 R2 a h: U( D8 j try8 E+ n; K* w, D% g4 L; D
{
' g2 R4 v& a% Y5 @$ b var minValue=15;
; t6 O( V( s, k7 B7 J8 | var objs=page.getElementsByTagName(objname); ; _' s, t: f" T) T; k( K
E8 [/ N2 v4 c
if(objs.length == 0)
5 |# q: V0 o# L' C% x7 m1 N {
) Q2 [0 F- [4 ?+ x$ i: L if(debug)- ~! | p/ v5 R
{7 ? u4 d2 P7 h
alert("no object found!:"+objname);
; @' r: W6 W" ]; l } t6 A- h; e: O9 ^( P
}, ~$ R9 ` v: ~7 y
else7 b3 i' m$ e. V2 y* f' \3 \* u' v
{" H3 T4 [0 r# _, U3 Y9 c: b
7 Y9 T$ V+ K4 ~7 }
for(var i=objs.length-1;i>=0;i--) 9 v. Z5 J' L; H/ Y+ ^! Y6 o( }
{
2 F5 b4 ~6 s1 J/ }0 v, z$ P' O5 u var node=objs.item(i); ; G8 N$ A# n$ G
@& p) W6 |- }: J
$ n. b! Z2 i6 d7 |6 p' S+ ?% t$ f
if(this.getobjstyle(node,"display") == "none" ||
C9 e# V! @& l I: ^( t4 Z this.getobjstyle(node,"visibility") =="hidden" ||
) X# j6 d4 L g- C5 w1 c6 V parseInt(this.getobjstyle(node,"font-size")) == 0)
4 k! m& Y' N' @$ x* W7 Q/ d$ @( m {4 v4 @% R7 a5 A4 R+ Q1 i
if(debug)
) b2 @! F6 T& v {
2 i% F9 E" n1 T$ C. d, S: T- w alert("remove invisiable!");
1 \& R6 F( t/ x0 D c; |0 C& E }
, `- e2 q h7 h& o node.parentNode.removeChild(node);
% m% |8 I; G: k
! E" ~" |6 @# e* d0 f0 P" {: f }
. p% ~2 _ y" i; J3 K; [ else ) L7 A8 ] p Y3 ]0 U# `/ l
{
4 }" T9 M, ^7 ] N O if(node.parentNode) , q# F$ [3 n$ i& X" W* B
{
c' {( ]1 Q$ r, I1 m8 f4 i var orgNode=node;
% ]7 m* A& K" d& { var orgColor=this.getobjstyle(orgNode,"color")- W9 ?: R6 Z }5 m. Z3 J4 `
var orgRGB=getRGB(orgColor);
& _$ d2 g0 s3 S$ W' t 4 w/ n, o& \3 v# U/ T J5 R
var parentNode=node.parentNode
, q* h8 }- O. p; [8 ~ var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 h( J8 R* r3 l
% K6 L9 M$ _2 Q1 a var isLast=false;1 L/ B: T6 Z- O6 n
E9 J; {0 o4 s x5 ]& z- ] while(parentBgColor == "transparent")
' M( Y/ p$ r2 M8 b$ [ {# ?% x7 c+ ?& w9 T, G) J# ^
1 I) n5 l8 O# V9 S" B0 a5 |) E
5 o/ {1 I8 Q, {/ E- Z if(parentNode.parentNode == null)
, m# |& y; I' a+ Q1 I4 e {
( t. l, C1 S2 q% Q isLast=true;
: I' Z5 m& s/ ` break;
, F- q* \! b2 { }. b2 P( r8 }- K% d% C
parentNode=parentNode.parentNode;0 _. \4 X. ^5 ? c5 a O' f5 |
parentBgColor=this.getobjstyle(parentNode,"background-color");
$ n" \! p9 a6 F3 z
; r4 y C. x1 ?) E if(parentBgColor != "transparent") . i, L9 E5 a, u( X4 T
{
2 n% ^+ d3 ~5 E! M break;& V( V$ e W8 o! I6 @3 X' Q& R0 V
}
$ E: n+ h* j _- e5 b9 m }0 Y' H' h% |1 [, G L9 ^- W
if(isLast)
% I. P5 @5 g, R5 P" o" h# j {
$ B; R4 V' f B' N$ j" N9 O if(debug)
* \, u+ H% B+ H5 E/ x {* _: l: M7 t2 i: a7 N
alert("last!!"); [( n* u1 f/ x( f* D
}
2 W. J4 f, @- P! r& _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; D! q2 v L; y6 j3 U2 W9 H$ n {
5 ]/ t8 l3 k# B, t, V, i7 G0 U orgNode.parentNode.removeChild(orgNode); % C* [! ~( v, V
}) B# u( m+ P Z( K+ @; F; U
}
% b8 R m/ H4 b6 ]0 L3 p j' C else5 x4 q* }2 B8 F
{0 }6 x d6 |) B
if(debug)9 V) n6 S8 }) z1 r d
{
8 l0 ^* K) j. t3 P9 o V( O alert("compare color and parent bgcolor!");: ]3 O' Y& o' d& e" Y; D
}* x3 o! \8 x' `' q7 s
parentBgRGB=getRGB(parentBgColor);
4 G( x" ^. [# @' ^7 o' n$ T if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ B* J9 Y) @% |0 X
{
; ]' z( d& w X3 s orgNode.parentNode.removeChild(orgNode);
+ \. J0 o; ?5 r( N }
% [# B% B# v: v }7 M {3 B, O: C) B7 ]& n" G
}
2 A; @9 N% C- P. [ }) s; |' N: S$ a
}+ r4 z# t$ L7 H
}( A% ?. b5 R1 K
% |! E! u. I* n' {! `8 I
/ v) |: k2 X: a* a" }
var itemFrames = page.getElementsByTagName("frame");
9 o7 g/ g' w# Y3 i9 k% x- x var itemiFrames = page.getElementsByTagName("iframe");5 x' A0 @& j/ m
- }7 y6 s8 ]5 n3 {$ I. {7 t var frame, iframe;
% _% `7 R4 ~( S/ P! [9 y if (itemFrames.length > 0)! {5 q/ f( B- l4 ~) G
{
, E; Z' H- k) c; Z" R! q8 [9 l+ R for (var i = 0 ; i< itemFrames.length ; i++) , N) c, z' ^6 H( ]
{0 F6 W- F# S" C) T }- n8 }( T c
frame = itemFrames.contentDocument;' E& `: g: p, P0 e* q7 W! w
this.RemoveHide(frame,objname);
+ M( g8 p9 [6 S }
3 N t- O8 H6 R }
" i B3 e% c! l) h$ e if (itemiFrames.length > 0)2 d% ?) `% b3 U: Y3 d
{2 u- l1 i+ ^% H, J7 e# q
for (var i = 0 ; i < itemiFrames.length ; i++)
5 K; [3 u1 W: b5 w5 l. j% ~ {
( W1 B7 a( B6 P iframe = itemiFrames.contentDocument;
: h7 s" V) ]- m- d! O this.RemoveHide(iframe,objname); : `' v T# `: l) h, B& Y$ h( ~
}5 [7 F7 f; [. \
}
# u4 R9 ~- @( u }, _5 |1 |# B) Q9 y" q0 P& L
catch(e)
; k9 N" w) |9 ~3 y# y/ y d {
$ c: K( F9 [. w/ v if(debug)
9 i8 n1 r+ I6 b) ?, m1 ?# ^$ q, w {
& u& q; V8 f2 l. K: B6 T alert(e.message);0 P. A- c* a4 A( T3 _
}
/ e% Z- m$ B0 j5 ]: u }- G* h! T1 K# `: s+ w5 d! d7 g
}
3 H" _5 l# ?: W$ a A% S ; I' `% I9 U& }8 z" B
}/ d- D* K1 ^& x9 R
5 U" i7 }( _. z" Dfunction getRGB(colorString)
, q! k7 H$ ?2 I# }1 U* P{; C r3 v* i1 w9 Y
var RGB = new Array;6 ?- O, a. j- s8 E+ f0 @
var tempSting=colorString.substring(4,colorString.length-1);
; k$ k1 D4 q9 l% e8 y; s$ t9 B var tempArray=tempSting.split(",");
7 Q1 z3 w) z4 C- s
& X3 h3 @8 k2 q, `! N3 L5 H RGB[0]=parseInt(tempArray[0]);
. y+ S! T9 ]1 r5 [$ X: M8 ? RGB[1]=parseInt(tempArray[1]);/ I1 o+ O- f. F) C3 V# e8 [6 L
RGB[2]=parseInt(tempArray[2]);# d( B) n# h6 |& R0 g; h
2 a4 ?# a/ h1 ?0 v1 z8 u* } return RGB;
$ Y ^5 ^# J& k' \! ~}
# O/ T, B( t# J( m6 r1 y1 Gfunction keys(evt)
5 R0 M, ^6 W! L { ; X+ ?8 a$ i @
if(evt.ctrlKey && evt.keyCode=="81")
! d0 ~/ I9 A2 N, o" `( T { 4 [% P3 P0 d+ o; _9 R
CleanHideObj.on(0,1);2 k6 s i. S$ I1 h& G5 X3 N) A. T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); " x' ]5 x# A3 C. ^
& F6 Z: \+ ^: C6 o/ ]9 B } 1 P) o) f" B2 E
} 0 E* Z- h, R# e* L- J6 X
document.addEventListener('keydown', keys, false); 0 i) S6 M! \3 e3 u
GM_registerMenuCommand ('Clean Hide',
. ?1 K7 Y: z% o6 R& ?- I2 `/ wfunction(e){+ v. a$ [9 M) Y' S" P
CleanHideObj.on(0,1)
$ `* ]* p1 p y3 m6 W _3 ?1 w0 Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. |* f% K/ k. f7 ^. }* O});
) b, g) C! t1 B; h |
评分
-
查看全部评分
|