|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 ?9 B. r. w6 d" u' G" U: A i
, e9 C- N- S. @6 H$ Y$ t火狐插件,用猴子
7 g- {3 Y( T7 a3 s' H7 [5 ?
6 Z: H* {6 U6 f4 A' Tvar debug=false;
) o9 J- q8 E! e" Bvar CleanHideObj=new CleanHideClass();
* H! d4 A( ~2 F
- t$ r0 u9 Y, n2 H9 ifunction CleanHideClass() 0 t q o* l* _8 G% P
{
" E% Z8 y2 B6 c% s7 O7 ] 9 r% Z( h: j" z' c, \# b
this.on=function(id,bMZ)0 U. Z; J9 s0 \+ d7 }
{" F# p) L6 C$ n4 B8 X
. s: P& l: W" X# I) V
if(id == 0)
8 y9 P; N" e/ w& S l+ \" f {
9 ^) s _' C2 p) Q var page=/* document.getElementById("content").contentDocument */document; " L: R( X" n1 Q9 a/ O5 V
this.RemoveHide(page,"span");
! X+ |6 q# d/ Q) b( x* }7 d this.RemoveHide(page,"font");
9 ~6 X# ?# k+ x this.RemoveHide(page,"div");: x) Y) e% u* B" J6 R: s
this.RemoveHide(page,"p");
5 \) V/ |* B# {8 s1 ?8 ` : ]$ h Q* _) y/ k3 {# x. t/ j
}
! @3 r2 R& U4 k! x6 j " H5 d# O( h4 J0 H6 H# N$ S9 C& W
}
2 v2 k+ {) K! v$ h4 L this.getobjstyle=function(node,prop)
% ~! l+ [% M5 x( y, d$ v' I {
' `5 r) C7 p: C) C3 i5 R try5 L# w; x# t+ j& s! J, A. U, q
{
: M- x U' G7 g6 k6 T" ` return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- }5 v! G9 w0 a0 i- r
}
* }) P: L; n v7 r/ e4 O! R catch(e)
" D. V" F8 }5 ^ {
N# p5 N: k% ?" T! u# G8 c6 i if(debug), n9 d. a8 N& F1 z
{2 u. F5 ?- ^& c! H
alert(e.message);% W* _, c" J5 G+ s( O& A* P! F
}9 G+ R, Q6 X, ^! R8 `. Y
3 c7 A# x" W9 _. | return "200";
+ g! j# K+ I1 c% @+ v( j }
( {7 }0 X# Z( i' G- N }
+ G. p' h7 ]5 R5 {4 B 1 W( C W6 A: I# j4 ]
this.RemoveHide=function(page,objname)6 b, z) x# D q4 S; p
{
1 L4 ?, u4 L5 D W try
! }( N8 D3 y0 ` {
: F0 C x; ^( H$ f var minValue=15;
' E) ]+ U4 k1 T) l; ^ var objs=page.getElementsByTagName(objname);
' r8 _7 z6 m( G. y5 A
! M$ g8 M/ H0 L; j if(objs.length == 0) L% G5 {& E( k" ~# a; T3 U
{
/ s# H" r4 j7 V& P" u if(debug)" B; \0 ^; y$ a2 h( p: Y
{
! x; a9 a* A# ^2 ~( \( ^7 M alert("no object found!:"+objname);8 M! |! }% ]. h7 d
}
& P4 |9 z* G, p/ ^( M }4 m; Z6 b! V, {7 t% d( `3 Y
else
! V% C9 C% U, k; q& g+ q# q+ c5 U5 a" L {$ n1 p4 i9 l$ J" a: [" [
- h) E' }7 `3 Y+ \+ n: i; o
for(var i=objs.length-1;i>=0;i--) 1 K+ p4 j7 D' s; q
{! t/ p( W8 ]9 x( @" C% }( s
var node=objs.item(i); / B% ^* a7 d* g4 f0 C; i
1 f5 W8 Z& V) p& j/ n7 E & O. l9 y) `7 D# j& `7 I# l
if(this.getobjstyle(node,"display") == "none" ||7 t6 L. c q# I" \* `$ {: [
this.getobjstyle(node,"visibility") =="hidden" ||- }) N# ^2 W5 G
parseInt(this.getobjstyle(node,"font-size")) == 0)
+ p' c' J# A# _+ V1 e {$ }& M2 j& c9 r9 ]# G! ~) m+ F
if(debug)
. a6 s) E- y7 ?- C {! q" S% ^" }1 L: ?6 d+ F$ F
alert("remove invisiable!");. d: M( s* N% f
}8 [" I. k4 }/ M
node.parentNode.removeChild(node);8 E* b X: k" t
% e% K' X% D" z }
+ a6 @; M8 L6 C, Z else 1 f3 |: q. h) P
{& H' U8 s# _7 Z" L0 ^3 D
if(node.parentNode) 1 F7 @/ W: y, N2 g2 `8 u. x
{
- d! L, C8 t) w) Q, R+ r H var orgNode=node;
) @1 |, o$ g$ n# ^% s var orgColor=this.getobjstyle(orgNode,"color")% u' U6 ]: {$ K$ Q8 s4 j
var orgRGB=getRGB(orgColor); , H9 o2 o9 F5 i
X% _( J" h1 y5 _+ e3 z$ a0 W
var parentNode=node.parentNode
! G1 m1 T7 ~3 d+ @% Z var parentBgColor=this.getobjstyle(parentNode,"background-color");
" s! r, D3 j. t# r # [4 N2 W3 n) ^& l. |7 u5 z
var isLast=false;
) h: o- \ G( v: L
4 n4 \6 I" V4 A7 C* ^5 N$ Y while(parentBgColor == "transparent")
& i% t+ G) F0 ]$ B8 A {
, q% u$ m8 X3 ^7 | . C3 }3 s+ M( `3 d# U$ V1 A) t
, R2 y! q' k1 X5 T3 A$ ~9 d# C/ j
if(parentNode.parentNode == null)
" A2 e2 D$ x2 A1 y& @# Z' z {
" H' F. V4 L/ ?0 B+ n' {1 q6 s1 \' ^ isLast=true;( m0 T2 B [, y' J; ]0 F
break;
. o* D4 x' o/ m8 }7 u, M, P& F }
) I- s1 a0 _& |2 w5 ~$ t parentNode=parentNode.parentNode;
! I' B( m% u2 C, ^ parentBgColor=this.getobjstyle(parentNode,"background-color");
4 n+ W. R5 R6 z& E$ W& s
" e j y; a: ?% g& r: o if(parentBgColor != "transparent")
; s4 s# R1 I+ v) D+ Q {
& M: H. }/ V) A8 z break; w8 e, F( J( Y, z
}+ c+ ~* I: y0 O/ C5 ~2 }( ~5 v
}
* r$ Q7 q' H7 ^+ M" k: h if(isLast) ( l9 R' K% s! L+ ~5 ]4 N
{7 z3 k+ p" i8 m, O- s' c# ?
if(debug)
7 C: ~, w, o1 V9 F {; g% O! h" z7 w$ i6 ^/ X/ @9 ~
alert("last!!");
$ H! V. I2 N7 y }- L' s( N" d$ j" W% {! J C G
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! g0 `! {. j" z$ t6 Q+ ^
{4 K5 `5 e4 f# A( T; R+ E
orgNode.parentNode.removeChild(orgNode);
+ Y8 c, Q4 I& R3 q% P }: f. s' @4 o6 ?, S# `
}8 g1 q+ j# a5 q( s d
else' S. ~1 p( k+ m M
{
! {7 @. N6 \" L if(debug)/ A2 I* m- d" |: N1 K2 Y q
{3 _( [; a* T: f7 n
alert("compare color and parent bgcolor!");0 R6 E! ]2 B7 y* Y
}2 `" H) D$ K1 X5 k( Z2 z
parentBgRGB=getRGB(parentBgColor);
( y2 N3 `$ U1 h6 ]1 L if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 ?* T& c2 Y8 t$ E* j, Z! k4 q) l9 @7 G {$ u/ A0 V$ v" _8 E* c% B. y
orgNode.parentNode.removeChild(orgNode); 4 B5 X* W1 r9 `* _, @) f
}; @( ]% n7 ?9 f- L% J6 K
}1 @8 b U8 @% ^7 E' r# D3 h
}
# w( b5 H3 V) N g }2 P" j2 O8 W% l5 u# V, f
}
" X5 |( w1 q0 b" D) q/ N }6 i. D) V1 `7 V- @
' U- r# ^3 l9 h/ }! r; [! g + W9 p' q$ T W( g
var itemFrames = page.getElementsByTagName("frame");: k$ r+ Q* l( [( b( C
var itemiFrames = page.getElementsByTagName("iframe");4 \6 Q4 g; Y" o
, r) @" W- P4 ~' t1 H var frame, iframe;
4 z) ?8 }2 A. ], {% A, n) Y, ] if (itemFrames.length > 0)+ M7 Z" P3 V9 r# n
{$ G7 S/ L4 f7 n" a
for (var i = 0 ; i< itemFrames.length ; i++)
, {" ?5 H, Y7 M3 Z* a9 ? {& H2 Z$ l( n+ p8 N" ]9 a: B3 l# K
frame = itemFrames.contentDocument;
G9 ]. y9 V- u4 ]' n this.RemoveHide(frame,objname);
& p; ?# z; e" k% u$ q- Q3 q3 G }0 U/ f7 Z/ p$ ?. f5 G, A2 @$ b9 U
}2 T0 j( z% H4 V; |
if (itemiFrames.length > 0)3 m& V+ n* i) _
{
3 y2 l5 }9 V! A2 A R6 j for (var i = 0 ; i < itemiFrames.length ; i++) 7 k7 M8 Q$ X4 I* F0 x
{
! g" {$ {; n; a$ W iframe = itemiFrames.contentDocument;
+ s2 l1 Q2 ?7 b3 F A this.RemoveHide(iframe,objname); ) v8 @; }7 o/ I! J( z# h
}
$ j, y, d: q; s+ V9 l: u }' E: H+ }; o$ D
}
0 `9 I. q) w/ w catch(e)% ]: e# w/ ^* y9 S G
{. z: R3 a- J. k$ d
if(debug)
$ Q* @! c4 _. Z1 _; H- h7 g {
, z8 L4 E) K& k/ \$ R5 i alert(e.message);
$ I' \' G1 E4 A, N4 R, f }% _( d- _# s0 h+ S
}
+ R$ \# K o* H }
8 ~- M' b/ ~* z2 v: i
; V8 ?. V0 F' J2 E5 e: [% O5 ]$ E9 v}
% I4 Q+ Z" U# I* }. z% G- D9 T* p, g0 m8 H6 j# E
function getRGB(colorString)$ C" z( e- C0 ]( |5 J
{4 h& N" F1 l8 H. u! c
var RGB = new Array;% U( _9 P3 v( L3 G# Y; M4 m
var tempSting=colorString.substring(4,colorString.length-1);
' L8 M1 U. z$ r& Y2 f) t var tempArray=tempSting.split(",");
7 G* O* M' c% q- m; T/ W# z) J. `* ?/ B$ e9 o5 y3 i4 K
RGB[0]=parseInt(tempArray[0]);' V/ ^! a6 E$ \# V1 q4 F( `! A
RGB[1]=parseInt(tempArray[1]);, Q0 K0 z- ]4 T% O
RGB[2]=parseInt(tempArray[2]);+ J. O0 } R8 S; m' n
9 w' T2 |8 F6 K- k4 P
return RGB;
( M2 l3 f: X" k. K0 k) p}
# l3 T/ J: K) R6 G. l9 E! yfunction keys(evt) # O1 |' n+ X& e+ L, J3 {5 ]
{ ; `8 ~" Z4 p8 r
if(evt.ctrlKey && evt.keyCode=="81")
3 F7 V9 Y+ A/ t7 K6 p$ Y- d { # a8 ^4 b' |) r9 H
CleanHideObj.on(0,1);0 `7 b# E2 |+ S" n: V7 G$ g- j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 ]0 ^( Z1 ^" X- S4 J# @
1 O. @! ?# j1 K } ' }* a/ J4 F$ v
}
- f( E2 g% L/ \* C# P% P6 `) _document.addEventListener('keydown', keys, false); ( {+ b$ K8 M+ I6 L0 J9 D
GM_registerMenuCommand ('Clean Hide',
% T9 T1 a7 G4 i. ]1 O+ Rfunction(e){
1 b9 x0 W/ t2 p4 f5 I7 w5 FCleanHideObj.on(0,1)
% o; t( w4 H+ J S. Nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( b( q$ o0 G) ]$ m/ i& L});
* c1 m, z- n# V/ [ |
评分
-
查看全部评分
|