|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * d# W% f/ W" Q" `% Y
% h* |! Y" ~- g; W9 p
火狐插件,用猴子2 B1 N0 b) k0 i' m. u0 T
, f& z* P- ^$ e$ u& @" U' Y, A+ F9 ^var debug=false;
2 C% o; M2 O$ Yvar CleanHideObj=new CleanHideClass();
$ x$ `3 x4 A4 a/ N% C- s3 T7 w( n O# e9 M
function CleanHideClass() 4 `5 O8 q+ l B, u) D& I
{
/ ?) ~7 H5 D: c2 \5 Q6 i5 h
4 i0 k7 ^! y% ]: ]/ ]3 W6 O this.on=function(id,bMZ)
0 ~1 R( y) P" J) @ {$ ]/ t% |6 f4 R
. G* K+ X; m' Q
if(id == 0)2 O3 X( c+ z2 \; c3 i o' i
{
& R* e% o' }7 N& R( z! p8 k var page=/* document.getElementById("content").contentDocument */document; ; i* q, N: u6 |/ M+ ^" g/ t
this.RemoveHide(page,"span");/ ~- [+ i+ U/ x" w0 C( O$ j! |
this.RemoveHide(page,"font");0 Y' P$ t" x8 N# @' U
this.RemoveHide(page,"div");& S# N& a$ u Q& U( s
this.RemoveHide(page,"p");* z* q* d* ^1 Z4 Q9 I4 u8 p
6 [' S9 S$ c3 S, K }
5 e+ {! L3 [4 q% n2 _7 @0 Z# P ; x# j: ]% f4 j
}# `* i, d5 Y' M6 g$ M0 C" G2 u/ M
this.getobjstyle=function(node,prop)
5 p# v2 ]' A: s% ? { r8 ~ t( l. M
try
1 p; E% [ Y: k( D( W {! O) \( A2 {7 k( r6 g
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 Y$ w1 T( i) Y/ x% e* Y, l
}' Y6 `. r& ~0 u0 w" ^
catch(e)
% G0 A I4 b. K2 p& M+ d% { {
, E7 j3 V, U) j if(debug)
/ F2 c ^# ?: ~1 r2 R {/ R5 k w9 e$ _+ P
alert(e.message);' n" e% n5 j1 b, g; {3 I; h
}" z9 O) F P2 T! e8 X* H
( v5 h, ^; Z- _. M
return "200";" S; w+ {* w. ^5 v/ q* B2 {( _
}
3 x. \! G9 l! @1 q) K6 K }
" e7 a6 S; p9 Z
4 ?) Q; [( H( Z2 o) ?5 [ this.RemoveHide=function(page,objname)
8 s( z% f( u/ o1 ^# E {9 J8 Z; E/ I0 _; P& z
try7 O; d) b0 W; x: w9 ^
{
3 p# @! P' J8 J0 P, K var minValue=15;: J7 C7 Q! C0 w) J3 W: N: W
var objs=page.getElementsByTagName(objname);
0 h) L5 G, U. w8 M
9 p9 @+ A1 X% `' A: i) } if(objs.length == 0)
& B2 @0 A5 y5 F5 z r {4 O( Q) J9 ~) v; s
if(debug)
9 ^' Q4 s& V# V) `- h/ l Q {6 ]3 H9 X3 K2 w' u+ h
alert("no object found!:"+objname);3 _# h1 Z2 L7 S
}
' S' P* Y4 C+ W) y( P }
) D/ L& D9 W+ {/ z else; Y6 g9 \8 y' g1 d: M' b: D; I
{
9 ^# m, C$ q* N% M
; R6 n& b2 F2 ]6 k7 J: g) K for(var i=objs.length-1;i>=0;i--)
, k8 j! h) _; W/ ?- Z( O% P0 q {" J% R. q3 B; x" L. [. m1 v
var node=objs.item(i); ; E9 P0 o/ u; k6 I0 p% P. l; [$ z+ }
; Y9 c( t, I+ h5 N" j " |/ D, @+ K2 l# A( X
if(this.getobjstyle(node,"display") == "none" ||
" V ]0 M6 o `) w this.getobjstyle(node,"visibility") =="hidden" ||
# s) q* E: s9 S# s3 L parseInt(this.getobjstyle(node,"font-size")) == 0)
: }& I! ?* G$ S8 N2 L {
' R( N/ f# i6 y2 s) K1 z if(debug)8 g: _7 B( f1 O6 G# z' t
{! _- q& o1 ?, _7 N( T" @6 Y
alert("remove invisiable!");
8 g9 ?3 z9 b, Y }1 f) M! L2 J" V
node.parentNode.removeChild(node);$ C2 o4 r2 ^2 m1 r
6 H! f4 m: H1 b k. R- C7 I+ w$ b+ G
}( ?( o1 k* L: |% s3 G h- ^! }
else : w' a' u! r2 P% D# l/ F8 I9 ?& M
{0 }. I) f; U& N! Y: d
if(node.parentNode) " u- ~/ S; s1 u0 H
{
* G; E2 x/ c6 H8 l; D6 M! Z2 Y var orgNode=node;
4 s' H' K& X1 R9 \5 E u var orgColor=this.getobjstyle(orgNode,"color")
5 M3 b& N1 u' u2 ` var orgRGB=getRGB(orgColor); 6 K: M8 c+ Q+ |% u& Q
* G- F8 y+ d8 R5 \3 Y- F
var parentNode=node.parentNode
3 L; [2 t( y- h8 e: ] var parentBgColor=this.getobjstyle(parentNode,"background-color");2 C" k5 P/ _' L" T Z0 N8 g
/ V. p3 G7 n$ D2 t9 i) V! l
var isLast=false;! l5 B B8 n v8 J7 z
& o$ ?4 M% \. F2 c/ U4 ?) j# {# \ while(parentBgColor == "transparent") : S# F/ J5 v3 g% J2 g; [7 u
{
) m/ D& \& e% w' \
; C7 {# U4 F, g v7 ] 7 Q* g: X$ K0 e
if(parentNode.parentNode == null)
! o9 @/ H: n" @/ C {
$ M! [9 s5 h$ H, ?6 S isLast=true;
" J& N+ L X4 T& ` break;
( X5 }9 i, i1 r- A }( N2 m/ u3 @0 @" k( a# @3 t
parentNode=parentNode.parentNode;
0 T; ?; W: a: A u: c; ?. U parentBgColor=this.getobjstyle(parentNode,"background-color");
+ k# I2 M$ I' q8 O+ q6 G/ g5 X/ R5 W( u9 `3 s
if(parentBgColor != "transparent") - I, J; k2 L0 p* V4 I N
{
( _) s4 N0 P l break;
. a; i. M) T9 w" S( m/ H$ l6 J }8 D0 ?; Z0 h/ ~9 ^4 J( q' [: N2 L
}
! q ]0 i( \3 k: v if(isLast) . \' C% `: J3 h2 D
{* [# [0 V! s* I3 ~% o
if(debug)8 L1 X" ?: T* p% Z
{7 v. O% N1 U; m$ y6 F
alert("last!!");
' p( B: c% a* G4 G1 J, J& G }6 [( y- f% k' |" Y0 n! ~
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 _' H) I* ~% t1 e$ |2 z {9 @( { H" z. _; f3 F. [: p2 c6 w
orgNode.parentNode.removeChild(orgNode); % A+ d l' s$ c
}
& n4 R! x5 M5 p; g }7 _& _3 r! ^& _" y: U# n
else
$ {# P R6 _+ |9 x% T3 i {
, c; G$ e8 `* l; o6 O) n$ \ if(debug)
# q# A3 d% I& W c { M" H8 _5 {- }4 b9 ]
alert("compare color and parent bgcolor!");
; V. E1 G O7 d5 X. G- D0 u, T }
% [& U: ?0 o2 g; s$ t parentBgRGB=getRGB(parentBgColor);2 E+ Y& }' x! S7 H/ w7 Z6 O
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), U, y$ M9 P) U/ {( a2 o1 t
{4 R/ a8 |% p: h
orgNode.parentNode.removeChild(orgNode); ! j* T$ F8 B {4 \
}
, h1 Z8 o2 d U6 A0 ^+ i! b }8 i6 c$ R* c+ s1 f% N. J1 S
}1 S. V8 I( I8 s
}/ ^2 S& `# N, ~, Q$ b. t' E i- F
}
6 p8 Z1 M, R* M3 V) O2 N. t6 ` }
' O, c; j P+ c; ? : [: p0 ?) f# [
, h1 B+ \% x. h) f& @
var itemFrames = page.getElementsByTagName("frame");
; W8 ]7 D* E% ?. F# O var itemiFrames = page.getElementsByTagName("iframe");
$ _! a* a% i4 B ' z* j+ h- ?$ c) N/ R
var frame, iframe;0 |% h" h3 x/ L6 H/ {
if (itemFrames.length > 0); Y+ ?' F9 W6 q" C
{5 l7 ^1 m+ A' _) T" A+ R
for (var i = 0 ; i< itemFrames.length ; i++)
+ H! y6 E1 e+ \" l; F3 e {
3 T% w# V9 |7 u5 |5 e frame = itemFrames.contentDocument;
* I8 v/ n3 s9 f9 p this.RemoveHide(frame,objname); . H& m& A+ {; R6 S m; w* e3 r* h
}
( m r; r9 Z* l& C' x* f6 D }) N/ @% m$ A9 F+ K5 n- D
if (itemiFrames.length > 0)
0 D* L7 J5 g4 q# ?# h. w6 j, ] {, d6 Q, e7 ^7 F* o
for (var i = 0 ; i < itemiFrames.length ; i++)
# w6 k( l# U( y" H7 B( M& `- K. ~ {& J, W/ A4 ^- w R" f0 x+ k' a/ X
iframe = itemiFrames.contentDocument;' A( C* X( |$ ^6 A6 l1 Z6 x
this.RemoveHide(iframe,objname);
% S# a o6 O% B }
0 e9 c5 \# l4 [0 Z9 K }
0 t& [$ T/ C3 f+ v }
% g7 l3 |* P- g8 [; W9 T1 k4 g& P# e catch(e)
6 n: t% y% N+ |2 s8 t {
% @& {+ Y. A( G. [' X- F) u( B/ h! { if(debug). ` Z" d; Q# X1 w$ V Y9 O
{
1 N$ U2 c5 w1 \6 r9 f9 @ alert(e.message);4 H* D% C' S9 b* i' M; U
}
0 _0 s& Q# i0 z; O }
% F: w4 a# C! u }
u9 i0 [6 g- Z. z2 {
+ ]2 E o. b" E1 e9 o}
( ^$ _4 |/ N5 }6 e: k
+ z; e9 c! K9 w) Q$ Pfunction getRGB(colorString)
L4 m5 J8 A8 M! r{5 G* @$ Z. [7 o( ]
var RGB = new Array;
6 m( B" T+ ^* t" `6 u% l var tempSting=colorString.substring(4,colorString.length-1);
. F( r7 ~/ E) d var tempArray=tempSting.split(",");( Y" c2 ~3 z' S, t( R6 ^
; `8 t4 x% l, J" h3 R& Y RGB[0]=parseInt(tempArray[0]);( G" t8 h) e2 g4 z8 }5 p
RGB[1]=parseInt(tempArray[1]);
7 l/ I- f4 K3 P5 C4 [ RGB[2]=parseInt(tempArray[2]);
, t7 a2 }" a6 N v/ e
6 c' `2 q% w3 x4 w% Y8 i return RGB;. w/ Q! L- ^( g; a+ B) n/ g& Y
}2 X9 @. \6 o' ]. v* I
function keys(evt)
, o T; ]7 h" w7 U p3 U$ |+ a+ a { 1 W9 Y9 ^3 I! K4 \! \) ^' e. F8 w
if(evt.ctrlKey && evt.keyCode=="81")
7 B0 G" C- L9 f" |0 m {
& ?5 T; K1 c4 O! z% y" T) b CleanHideObj.on(0,1);7 O: W3 A1 [1 l, O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' m$ Y) r# m) W" T; Z( ^
. [. U1 x# y f } 1 K# e! c& B7 m8 b) U/ T2 h
} ; t- h& A0 E! O! a: L( R
document.addEventListener('keydown', keys, false); * F6 d+ z2 U6 E
GM_registerMenuCommand ('Clean Hide',8 k; i1 c* z9 ~ O: I. ^
function(e){
5 f( J# [; ]8 G& A! a+ ?: V+ uCleanHideObj.on(0,1)
6 z+ p: d7 r1 e, O2 e. Ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& t+ B* K2 B/ I# t( O: j# w( c- D; y});
9 E) k5 [4 y( ?* d. |# X' Y0 C |
评分
-
查看全部评分
|