|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 l- ^* s* g: P( g2 P' b7 T
, p' _- y7 m/ e, k: C' k: c火狐插件,用猴子5 w: F8 q- k5 `+ h% r; I& Z
/ d# n6 M) _1 x: W: z( t$ z% ~
var debug=false;
4 |/ `% b$ O, L( z% Yvar CleanHideObj=new CleanHideClass();" h& a5 I( W0 ~: `
! z$ m, O( j* Z3 \function CleanHideClass() ' \, k2 H+ C1 A$ v
{ 5 a1 y( A1 i4 T" [9 H( G, q
& O; E" a3 Q4 a- } this.on=function(id,bMZ)" E% v5 u8 E' N" M
{0 k, ]7 S$ d0 g g m
) s, U9 l# J9 z3 P
if(id == 0)
; ] w) I D1 D/ b {
- ^: I: B: ]0 U: f2 h. }5 C# A; E var page=/* document.getElementById("content").contentDocument */document;
- i5 @( }+ l% t# T. n+ f this.RemoveHide(page,"span");: o! A D# ~) ~' b0 n
this.RemoveHide(page,"font");" A0 [1 F5 C8 {0 R) N% r, o
this.RemoveHide(page,"div");
4 ~4 `- l/ |) x" j# S this.RemoveHide(page,"p");
, o; [& w# g6 i 0 h; h+ P' {0 I" A( C8 f
}7 s. M$ j, n. P6 e; s" R# C# D- ~
6 S2 ?3 i( t; V- }. a* y& b. ]7 l }
# o( W% S, u, ^4 y% O" m this.getobjstyle=function(node,prop)
$ p; F* Y/ ?& [2 N2 F( e+ a {% ?) ]) ^7 o& T0 l! J$ ^: `# Y
try
7 ~! o7 h. d2 W6 [" b0 o" n {6 C2 U4 T4 k X7 R8 k3 X+ Q, f
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 a2 ]" v: E6 x! e
}
, w" i! U, b2 U2 l+ e catch(e)+ l/ {! V5 [5 R: y% z5 ~, a, K) R
{* I; P4 H, r* r. J* i# Y6 S3 o
if(debug)- {# |; W' {1 E, N6 y9 H
{
6 {( `: `1 o9 X9 e) D' l0 G i alert(e.message);
1 O: ]% ?+ V# z' X$ |; [9 s4 g' Y }6 ?# A, \$ U5 x% `1 g5 s( X
, D: @9 |( B( i0 k return "200";
/ J% s# r K+ A8 Z }
6 r* F- W2 x X% N" X }
! S( j# d* k" @' O6 \7 k4 ] . e( G% D- M+ Q
this.RemoveHide=function(page,objname)2 q8 k( i) I' [5 ~0 `' l# q
{$ ]$ _- b' E( n8 I/ l. J; P6 n7 r
try9 E2 Q# j& N, V! `7 N; v% s
{
# n$ k: ?5 L) Q! h/ f var minValue=15;. ?7 [' @9 h6 c& }; y E, v+ H
var objs=page.getElementsByTagName(objname); 8 |" R: T& p: v. t/ ~. W
' |. G0 z% ]" d+ O& N if(objs.length == 0) % ^. x& Z$ ~7 z; q4 S! m
{7 X0 o1 L) b8 h Z: N* S
if(debug)/ ?+ p' o' k, z# Q7 I
{- J1 h' p! u. w
alert("no object found!:"+objname);' a% s/ s. }2 a" \( c
}
+ | V$ k" o% J7 G& v }
# p, T8 V/ q" a5 v5 @ else0 [6 V {7 ]. U6 v) t/ Z! w
{8 Z' [4 \8 _1 ]8 {6 J2 r8 S
1 K1 q* [: n8 B$ G2 m. j
for(var i=objs.length-1;i>=0;i--) : {* d* H* r3 F: t! _! I
{
9 G! d2 N( d% M7 b# M% A var node=objs.item(i);
: l4 W( s+ ~8 @2 k0 h! W% U* w % B% _5 @* A- C, h
6 s0 O J4 ?9 ~; [
if(this.getobjstyle(node,"display") == "none" ||
4 d6 B# l* K2 H6 l+ h# ]& h this.getobjstyle(node,"visibility") =="hidden" ||
+ K/ {6 M5 G# H6 A2 T parseInt(this.getobjstyle(node,"font-size")) == 0) % b# L' |$ i0 v% L
{
A# R2 n! Y/ v' D u3 J if(debug)* N$ f6 O* l' j V0 G" i. f7 B1 o
{
# w* M5 w" x7 @3 [ alert("remove invisiable!");
) e! s# u/ A2 ~2 ~+ M }
6 | q2 [0 o+ k3 x4 f5 Z9 j$ R node.parentNode.removeChild(node);9 A' \7 L0 p3 M. p! r5 Q1 K
+ q4 T/ E) A' ]7 O' x
}4 _7 L( H) t7 F* L4 d& E! U
else
4 J0 w) p5 X2 ] O' I1 b9 \ {/ C6 H3 P( `, ^3 K; s
if(node.parentNode) ' ?! a3 x0 I9 P% V+ V8 E0 [
{
9 W" g: j) u% K/ i4 M& z var orgNode=node;+ |. g9 c6 B' [
var orgColor=this.getobjstyle(orgNode,"color")0 ?! \* k. y+ g' o# T3 o; `$ Q
var orgRGB=getRGB(orgColor); ' |1 z1 U' r5 H3 U2 Z u
q( f5 z4 b$ \$ o var parentNode=node.parentNode$ M; V, e |. o7 y, u0 F
var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 \. y' M. M$ i7 g' O9 T $ T' w. z; M: K, v5 E
var isLast=false;
- p, x# v: u ?( C 7 i' g+ X3 m2 X3 y# `2 x+ F/ b! J4 Y
while(parentBgColor == "transparent") 8 S6 p( D, z* h! ~6 O
{% L: o# h" `, t7 G
+ B# |( L2 z. M( A' w0 S1 W
' q% ]5 C7 g: z' n: ~$ i* w( I* A
if(parentNode.parentNode == null)
4 k" w% t1 m& Q% N8 h% _. O" [1 v {
5 L7 U: D; i5 R! R5 F; ^ isLast=true;
* F& j% y. v% H# W/ n* n break;8 f5 ?, W9 X+ b
}
7 Y0 B' S5 d- Q( u parentNode=parentNode.parentNode;* M2 J4 R+ x' w) I6 v
parentBgColor=this.getobjstyle(parentNode,"background-color");1 i' _ M+ L. {8 ^3 X) V/ h, p
- r7 |" @3 m8 F- l5 t! \
if(parentBgColor != "transparent") ' s- v' Y6 F) W7 w" m5 H0 T
{) l& b6 K$ _7 S6 |! d
break;7 p: y% y1 \/ }! X5 n, B% p
} z; {+ ~1 Q6 [; T" ]% I
}
+ g; s* Y* ]$ X! \3 j if(isLast) - u( }' E! b, ?1 R
{+ k4 g e% _ v: D
if(debug); A0 o3 v8 D( B0 s# ?" Z: w2 M
{
) u9 u+ L( \" v- |- s' ^6 g( Y4 ^; i alert("last!!");
1 m3 ^: B. E: x7 |. z3 R! G }* c9 n- o- P w
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 i9 O, @; _% `9 C3 z$ G" I. K {
4 [& P) j6 F' m' w% e orgNode.parentNode.removeChild(orgNode); ' M# f. P! r/ i
}/ s! `0 z6 f4 E; U8 y
}! V! Q6 b& ?, P7 L; f
else
! g. \% ]8 E6 ` C1 ]+ A {( D6 I J2 Z/ l4 A
if(debug)
% l W: s1 r" B3 E {
0 ^' Z7 M# l [ alert("compare color and parent bgcolor!");
z3 ]; u: c; A$ t) w }) O( q: z. u' o3 b" h6 I* C
parentBgRGB=getRGB(parentBgColor);, _' E( a6 U1 r9 q1 G
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 y8 M6 l1 G' o, t" r p* J8 o6 X6 k% j {
2 k/ O$ N! ], V: |- h9 H5 Y orgNode.parentNode.removeChild(orgNode); , {" w! z* g( |& p( W
}
! A3 h! P' Y. R! A }
6 n5 s! A, E& s9 l' g. n" B. u }
/ v, y- ]; W4 i* H7 w+ m0 y }) M! O- z L( ?2 A0 m8 C; n
}
8 y: m' S! s, n9 c8 t }
# g( V% d5 O3 ~; c3 a2 \
: m, n' H" M. g8 ^ - _$ e2 I+ ^* d
var itemFrames = page.getElementsByTagName("frame");
^% I+ s5 \& q. P, b var itemiFrames = page.getElementsByTagName("iframe");
: A" q- H* \" | m% }+ f" n, |
9 f8 r" b! S; G9 g var frame, iframe;; j8 ] F0 j" h" |& N8 A& e" z7 v( O. d
if (itemFrames.length > 0) L9 j; n4 [$ c4 {& ^
{
5 P8 Y! H u. ^: E for (var i = 0 ; i< itemFrames.length ; i++) # H3 t4 j7 S5 {+ N' }
{2 D' P, P* ]7 e& c, U6 p5 i) t
frame = itemFrames.contentDocument;
0 g' `& q' ]; N* \( F" G this.RemoveHide(frame,objname);
" U% v3 h% t6 N6 }$ }5 I, O }
! M ]& B* c( G- Z+ `5 C* A" u }
. F: G; V4 O L: o# H4 R, \9 b if (itemiFrames.length > 0)
/ U; |0 ^$ O" D8 `5 y {
- n( y& M, L9 t5 f) j& t9 z# |6 f for (var i = 0 ; i < itemiFrames.length ; i++)
8 N E# _% a5 z& \# O; b2 ? {% g5 k; R, g8 B& d0 j% D0 r/ |
iframe = itemiFrames.contentDocument;
$ r' a) r' b5 y/ k this.RemoveHide(iframe,objname); 4 C% n. J8 p% c4 i, @
}) z2 k: N" R" [
}
1 l }: D( H0 L }7 f; J8 L( q' y" A* |# S
catch(e)
8 Y2 X% d2 _- ^& c, H# x8 }0 U+ N {
$ Z3 C6 z4 `# ~, m6 A9 G- e if(debug)
$ {6 l [. B1 m J4 p0 |& P+ n {
. y* S9 D! K: ~0 F alert(e.message);
. u, ]/ B0 N) R/ G6 @% P8 b }% S, m; C& Q- E5 j% |+ s' x) T+ x
}
8 z* y3 f7 m3 p& Q }: _" s; \9 L$ \$ ^
$ ^' _2 [: \. g" e& V# E}/ r1 i8 E+ i8 C* L$ A
( Z6 W6 N) I& h3 s; W$ u
function getRGB(colorString)
- r& C# s' a6 P+ i: }% r{
: O% T, {0 Z5 P1 q5 _ var RGB = new Array;
) ]* G, |2 R: w4 P6 _" y" }2 m var tempSting=colorString.substring(4,colorString.length-1);2 s6 O! @! u- X
var tempArray=tempSting.split(",");
7 H- n- S% f3 g
- s' C' R+ |) {; d3 m RGB[0]=parseInt(tempArray[0]);( s8 N5 {$ h" t1 s/ a
RGB[1]=parseInt(tempArray[1]);
" S) j* w; n7 n$ \$ G( z RGB[2]=parseInt(tempArray[2]);' D- S% d# o, ?- F3 s
. S8 i9 w" P+ p/ d9 m; O4 f
return RGB;* J5 r( [; \7 y' Q5 I1 t) e$ m
}
# e/ i) h! Q7 W' _, ^0 Ofunction keys(evt) ! J9 A' s0 U, E$ ]- q
{
T; ^7 ~$ A+ D; L if(evt.ctrlKey && evt.keyCode=="81")
+ i* X& ~! ? [9 V* H { ; D. c; Z8 U, ]: g9 ?( ]4 ?. L9 ?0 ]
CleanHideObj.on(0,1);: l$ {) p y" |. H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( }) [$ c/ n, [* S+ L" H5 w
* Z( l7 e3 @; z, O
} ; a% W+ D# Y6 l$ k5 }7 a
}
' k0 c4 ~$ `& Xdocument.addEventListener('keydown', keys, false); - V Y% M; X7 q6 g6 ~$ [
GM_registerMenuCommand ('Clean Hide',
+ ^$ f$ r) s' t+ Q; d) m7 Hfunction(e){
0 U0 U7 ]7 ^$ b% W( fCleanHideObj.on(0,1)9 ^$ \; l. H) K: m* t+ _: Z% e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 Y+ E0 ~( G* H/ {# k& M
});. P4 w$ ^3 u% p& Y
|
评分
-
查看全部评分
|