|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 `' J) [+ w! C) R2 q; t
! i2 c7 l/ U+ Q
火狐插件,用猴子
K) a: p# s3 o( Y. J
; A! q" Z) A1 [8 s1 C1 L. kvar debug=false;
3 `9 ]& o/ E; j$ g( [var CleanHideObj=new CleanHideClass();' Z4 ~. p: L% B* t' P/ q
# L6 z3 k+ a0 R; X, S6 Y
function CleanHideClass() / W- k. ]! \4 E1 r5 U, W/ f/ y7 j
{ ( k& e8 i! E/ w, S
" x: ~% N C9 c) P2 f this.on=function(id,bMZ)
) ]: p( u- C* [0 o; E6 C! [ {
& @& q* M8 @- C6 ^
; Z8 s8 O& s ~& z5 E3 R* L* B6 s if(id == 0), G H8 c8 B) z1 w1 m, \
{
( R/ C8 H: i4 M; g& ~; V var page=/* document.getElementById("content").contentDocument */document; / z3 [; k) M! b, x x% z
this.RemoveHide(page,"span");0 r; [5 y" e5 Z3 V! u
this.RemoveHide(page,"font");* T6 x: D8 o/ |: {% w/ |
this.RemoveHide(page,"div");
. g+ ]. V$ I3 \; K this.RemoveHide(page,"p");- @! J# n0 V' V. l6 ]5 d
# _5 G+ D& b# v }, w" N4 f+ E- ?6 c" q7 f1 a" `
; V: w2 Q, k, Q n3 t
}
l8 @3 j; ]1 [; A# Q this.getobjstyle=function(node,prop)
# N' j1 @+ S; C, ]2 O- O! N/ f/ O+ u {
: Q7 y$ Y0 s! O- E f try
6 p( ]' {/ M- }# Y2 \ {
- u# J8 @$ @% [8 L return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- K2 `. e ?+ v! M }
3 j: O5 n% Y0 p) D catch(e)
% j& |* Q% F; A% w7 d. m% { {0 s/ C( k& v% ` C2 N
if(debug)) X F6 B: @ m$ D, K
{ }2 {& p8 W N+ g3 K, _' |
alert(e.message);
6 ^5 S1 X) t6 ?0 L1 |6 P8 e }
6 S* K) a7 N5 _ ! P% J$ G' Y7 \& e
return "200";) Y3 Z: S- B7 \. {5 K0 M
}
6 ?% ?8 L" ~6 P }: B5 k" I3 Y& n7 O
2 d* U5 C0 G3 l% S3 } this.RemoveHide=function(page,objname)
+ z$ V# T. m) O7 E. S1 w0 Y {6 X% X/ S9 z' u/ Y/ K/ n
try
7 T0 G" s/ ]) D3 r5 M* ^ {0 i% [' M' m( j' X* x' K
var minValue=15;' R6 d) k- A" w& ?
var objs=page.getElementsByTagName(objname);
2 W* l9 d6 d, ^4 p
2 B* i7 g! D1 R! a if(objs.length == 0)
5 c$ i" ^7 M/ ~3 d' G {* A; x1 j: B8 A" N
if(debug)
2 [! i/ ~. x9 D' }% ]. _3 z {9 \0 K, {) b; g! R% f$ x7 Y
alert("no object found!:"+objname);2 Q6 R1 {# N+ J
}
" i- T M$ D( G! K, f, q }
' i& y$ L1 x" Z; m else
: g. J" O& a8 F, }+ e( w {
7 y( D5 S: E! p! g- I
6 H( Y) g1 w% w4 o D/ E for(var i=objs.length-1;i>=0;i--) & {( W1 i' `" j+ g1 u8 y2 @, p
{4 o: |! |2 P& f* z+ g7 g& D$ M+ q' ~2 ]
var node=objs.item(i); $ U4 e* _2 _, o( _+ a0 K
3 w$ F' d: v* Q
! w# h8 V1 S& Y5 D+ y- m
if(this.getobjstyle(node,"display") == "none" ||3 `5 y/ t5 k1 O# b
this.getobjstyle(node,"visibility") =="hidden" || l6 ^% T7 ^1 U# `0 R. i, x- l1 I
parseInt(this.getobjstyle(node,"font-size")) == 0) $ R. X: ^$ L0 N! b3 G- r4 X9 E
{
* x0 J' @+ y+ K if(debug)! s; w6 y( E" k; [* [, V4 i
{
; W& T+ p* C7 W$ M& k6 g alert("remove invisiable!");- e P' t* Z) ^- a
}
8 e5 C3 F" L2 G0 I, i' s node.parentNode.removeChild(node);
) z# B6 M$ n/ s3 k2 Q, E5 J
) }, a; [/ Y$ q, |+ ` }6 n7 C8 L8 P3 k
else
8 \1 A; s9 y& [3 E; Q4 u% c9 o {
- }( o( X9 z- r8 x3 C; h( }) B if(node.parentNode)
$ |3 H0 ]/ f/ m! b: ` Z. h6 P {
$ @0 Z& D% L+ ~0 X6 i( J6 r var orgNode=node;3 \* f9 H6 ~5 Q4 f1 {: F
var orgColor=this.getobjstyle(orgNode,"color")
) ~9 M! p$ g+ y. o7 o var orgRGB=getRGB(orgColor);
7 F" t0 r n& ], I8 x : M4 n4 H" d: |) k) L) ^
var parentNode=node.parentNode$ ^% K \- g+ Q: `* V* T. i1 X
var parentBgColor=this.getobjstyle(parentNode,"background-color");" |8 r( l: \# W: }( r
$ h- f; a$ t2 U7 \& E var isLast=false; k6 J3 T9 X9 j' E( C: W
+ C* l! |9 Z. P) T
while(parentBgColor == "transparent")
. k# ^: d8 x9 p0 g {
3 M% `5 z' e. i+ ~ ; x. G! z W2 ~: w) U5 M+ c
B" s, X7 }8 k$ `5 ?
if(parentNode.parentNode == null); o4 n: O8 w- M
{0 z8 B4 u) D$ j( |
isLast=true;
4 q; I# T- F8 V+ C- e. h break;$ q) a, E+ a+ Z: N4 I
}
* Y) [$ R# \5 ?# _0 r parentNode=parentNode.parentNode;
) }! w- i4 h0 f$ P) O8 g! N parentBgColor=this.getobjstyle(parentNode,"background-color");
% J( d1 F$ W) v6 {. Q1 L3 z
: T+ M0 w0 @0 U7 b( F/ O if(parentBgColor != "transparent")
3 @2 I6 W. K4 e1 l' ` {% `$ O# B, V+ @* L5 Y
break;! E, D- S; C8 a1 A; @4 `# P8 |
}
7 J* @3 L6 s* z) d' O4 d. ` }
, V! Z3 X) Z0 ]6 d/ ?6 E" f; | if(isLast) ! S+ u- Y1 w" k
{
/ G- b6 y1 m" d! m) H) p if(debug)
$ E8 V$ j% g U4 L2 h, B+ R {" c$ o0 |2 B! O5 G" ?/ }
alert("last!!");% \, K, k& s N" C8 G, {1 {
}
, r' ~5 Z4 F' q" \( o* ~ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 A" C& a+ {2 r, s! s; u {
; M# w8 H9 Z4 I, Y orgNode.parentNode.removeChild(orgNode); 5 B p, M% P3 T2 r
}
* M( J S O F: |* l* [. U" H }0 ?3 v) n5 D6 I1 M
else
4 s4 H8 k8 M* x' L+ |! n, B {1 Z$ D! u1 q8 ?/ F+ Z# D: U5 l: I+ _
if(debug)
& e4 D. e I4 o3 F {
: p7 ]0 \% o/ f9 o4 J alert("compare color and parent bgcolor!");
# |) u* U5 z0 ]" q% G }- n f0 w4 l2 D( C* {% h A
parentBgRGB=getRGB(parentBgColor);$ e p3 V* f/ H6 }( d
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' N6 R% f0 L8 w {
4 Z( v- n4 w L7 E orgNode.parentNode.removeChild(orgNode);
! |/ r! K* P3 n1 Q# ?0 M- n } S8 J l A( F- d) p4 H4 U, y
}
. M( x7 Q* O/ j. `) L7 R }
' L9 I, k* T$ ~% g. N }
# P, g8 A7 ~& r5 b8 b% V }
: N: u! o/ D/ S* x0 Q }& l' x: b$ \/ p- {; v, ?4 U$ f
3 v Y) x' c# r4 [: w. L
& u+ G# b: N( K5 t' {
var itemFrames = page.getElementsByTagName("frame");$ K! J }2 s2 c2 F0 r
var itemiFrames = page.getElementsByTagName("iframe");" Y( ^( U6 V# w6 j; y- U1 u' L! f
2 P) Z% O- B5 w4 Y! h: Z) [ var frame, iframe;
4 w8 C _, A2 V0 N9 s if (itemFrames.length > 0)8 i g" R: d+ F6 _& S
{4 F+ x( e% ?. |
for (var i = 0 ; i< itemFrames.length ; i++)
9 e4 K+ w" ]" x7 L7 f/ ~ y7 B6 X {) M0 i! X0 z! U# d; Z, |4 H
frame = itemFrames.contentDocument;
1 U6 O) V% V$ R6 x this.RemoveHide(frame,objname);
4 k1 H3 I& R8 T% I }
3 x" l' V \/ @ }5 q: W, }" O$ @6 ^
if (itemiFrames.length > 0)
4 ^5 P# Q) ^! V% i, |% d- V1 S. M {
p- f5 O2 O7 e' _! ~5 L for (var i = 0 ; i < itemiFrames.length ; i++) 7 i& r2 P3 e2 M V9 l
{ B- X' q# f) E+ Q, w D
iframe = itemiFrames.contentDocument;( p$ Y% h V3 H) }
this.RemoveHide(iframe,objname);
5 o! d; R/ M8 g+ {9 z& m }
& p4 S' X& y! h" e& l) C' v7 K }
0 D1 @" g3 M' p% P7 ?5 U }* v1 x; q# l/ x
catch(e)
% k/ G6 K& A, ?- G3 Y {" i$ |1 s" K7 j( r4 c' x9 _+ h* w) S
if(debug)# H4 D' B! a1 {1 |) W+ ~" I
{
) Q# ] @; [ I1 a* C$ O9 u; j alert(e.message);
4 x( b' i; v% S7 e, ?/ A }1 D# z ?: O: A6 H- a6 [: l4 n: L) X
}* t- n2 ]0 G4 o! n" E" K, Y J
}
+ `* T4 f9 |) k. h* s# ?* b% S # F( F. s5 A5 o( G2 T1 w# F
}
# L) R+ i) Z3 _$ T3 h' M3 A
$ M3 A) w( Y9 m' a- e6 K' Dfunction getRGB(colorString)
8 I& r4 }9 o- K6 |7 _; z{' j% l' x5 `$ t! Q% _% u
var RGB = new Array;
0 l5 J* Q3 L# j var tempSting=colorString.substring(4,colorString.length-1);* H/ Y( L) N% M6 J( X
var tempArray=tempSting.split(",");. C; V) ^* d. @8 Y8 j
* A: _/ E1 V( I# r RGB[0]=parseInt(tempArray[0]);" }$ j, g: P$ i+ ~3 X
RGB[1]=parseInt(tempArray[1]);- P9 G& {, g/ ~/ e* ]' a1 S
RGB[2]=parseInt(tempArray[2]);
0 T; {# z p# b; Y t 0 ]9 @ k; z& Q0 e& s, z2 B
return RGB;
5 J* W3 u3 W! ~! K9 B% s0 W ~}
! ~' V' U; q3 z0 Q% c) O9 O; ?function keys(evt)
0 K) W9 h# Q2 [% k O {
V2 I: x- L3 k* k6 j6 ? if(evt.ctrlKey && evt.keyCode=="81") ) _) } K! l1 p, f. L7 ~
{ 7 @: S8 |! h& H: `* x; r- w
CleanHideObj.on(0,1);$ Y5 t8 W$ t. n' \6 }- l9 l, O, W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . B7 }. F2 Z3 }, B
' J1 Z, N( h! n }
, S! S2 q4 r/ z4 w- M4 `- G2 ~9 F } . J( f& L* b ^0 L: W8 q/ H
document.addEventListener('keydown', keys, false); 7 H1 c/ p8 j. F7 R8 e
GM_registerMenuCommand ('Clean Hide',
; F# C- n9 Y F) i& Dfunction(e){" {& C; r+ O Y) x z
CleanHideObj.on(0,1)
7 ?- W! }+ m( x9 R/ dalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 K3 `+ e/ l! L
});9 |+ d/ X- H- W- K( c5 U
|
评分
-
查看全部评分
|