|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , ?' H E1 L/ w. A! z6 [
! \ H- d0 @; ~* g9 [火狐插件,用猴子8 [: V0 H4 K$ e, k1 C( ~
0 f; a/ U6 ~9 Y4 ~# @$ ]6 Vvar debug=false;
! W& t! G& a8 y- j& B6 y4 qvar CleanHideObj=new CleanHideClass();" V0 E, R. S! l2 ^' K4 {# u# X
9 A3 G4 `- H9 s# V
function CleanHideClass()
) A1 f8 ]8 A* {% {8 [- z' v{ + N0 \; h* f! Q; J L4 r5 B7 a8 Y
: r7 O# r9 `3 R0 S# c
this.on=function(id,bMZ)
5 G) k+ a4 h2 A- { {
$ |% J7 B& W7 M$ [. Q9 {
" n5 l+ F G A$ z if(id == 0)
8 X; [" \& ~ r4 q2 ] {% _# L% |1 q. l. ~
var page=/* document.getElementById("content").contentDocument */document; * T0 ^' v2 C- E
this.RemoveHide(page,"span");0 k% A! w$ ^7 R6 k$ u; v6 Q+ {
this.RemoveHide(page,"font");
5 ^1 m+ V3 G+ n. H( Y ] this.RemoveHide(page,"div");7 f* {/ D/ ?, S* D, v5 F5 W) H
this.RemoveHide(page,"p");& n& m* p7 ]( ~8 z0 Z
6 Q% x* [5 O( {7 o C+ N7 B }
1 n: D) n# M* X" h( \; c 2 \4 p* _0 i' f, h& i$ K
}; H/ h: w1 D j& g6 p; T$ u' K& F
this.getobjstyle=function(node,prop)
# `4 s) X' s1 U' ^. `. h0 v$ H" } {" M8 ~; c/ h1 \) c) b3 l% v' K
try; S$ s8 ]% w$ L$ F
{
" E I, c/ [* j }' V return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 _1 N% Y* n* T/ e" X
}9 ~9 C9 L; c! ~6 T
catch(e)% M8 J' ] w3 l& F# s
{$ E( t6 E7 I( A. j
if(debug)
! x/ w5 x7 w; Y; U$ L3 @$ k {
; B! t- T. k' ?7 n& ^ alert(e.message);
* S' ~3 Y) g2 v5 O+ b }, U, o" }. \/ ~6 m- Y. M9 p
7 H( p$ `; `0 m, ~
return "200";9 X8 @8 |- ~/ E V* |- b; u0 v6 k
}( V8 d9 X( P& W* {- V* I- q0 V, H
}3 |8 C1 p+ \2 {6 e& i8 w, h
/ e- [$ `0 o' @. A8 z5 `0 N
this.RemoveHide=function(page,objname)
& z8 _# ?; R" k7 |0 u# [ {
/ _& A' ?. B) [) V8 ? D& q try2 B; @/ L5 p* C7 i$ e% c
{2 p/ l k& D4 t' e; H
var minValue=15;
3 c3 `- [# b' f2 `- f var objs=page.getElementsByTagName(objname);
) r8 e2 y6 o: q+ d, e
# M: U/ @! J3 {' b6 _ if(objs.length == 0) 4 S; R q' ]1 g3 ?% b$ ~
{# {: y4 _& q* [8 a4 T
if(debug)
5 a ^$ L, R1 `2 N- } {3 C4 _; e: Z- K" ], K5 \8 Y/ l7 L
alert("no object found!:"+objname);$ ]2 W' B! d6 c* ^* d
}8 C" n4 Q3 _; P6 c- |' x
}
# N- H! f/ @& B! @. i% \ else$ A! G4 M; C* A7 X6 P
{
- x0 T! I5 |; Y ]- N' K+ D) j
+ S! F, O- n. d3 ` for(var i=objs.length-1;i>=0;i--)
; P" w+ x4 [9 K1 D {. G) N E8 W# m
var node=objs.item(i); 0 K; `, O% A2 G T6 `
0 o: s( C/ A4 Y0 ^: e
* x: z, U0 V# b. u/ s4 \6 ]& C if(this.getobjstyle(node,"display") == "none" ||
0 {4 V: s5 e7 y6 V# _' R% n this.getobjstyle(node,"visibility") =="hidden" ||
0 G7 j2 v' ]& P! G parseInt(this.getobjstyle(node,"font-size")) == 0) ! P& |0 o! e$ W2 p6 R, q
{
: _1 J' ^; ~( P$ d+ t if(debug)+ h# r7 ~/ P2 i, Z; l$ P
{# \; |- j k1 E5 ~) O* G. T
alert("remove invisiable!");, K. s! Z8 q( U5 ^( ^( a. C; l
}2 h: R* r% W" w
node.parentNode.removeChild(node);
, v c: V& _+ w; d% e. b; G / Z4 |. w. _) t% `
}2 b8 G" F% f d* r. L
else
! m8 l r) |8 ~# o" C! l9 J {; ^2 Y/ K n# y
if(node.parentNode)
: ]& B( n. E+ J# v3 ~ {, t4 L7 v" W! H0 ]- Z# e' v
var orgNode=node;
/ f! ^0 P( T6 [2 g var orgColor=this.getobjstyle(orgNode,"color")
9 [( y) p3 f( n6 S4 L var orgRGB=getRGB(orgColor); 6 Y0 L0 h6 U4 s' j6 P* y
I: C# [- c9 k& p" K6 ^ var parentNode=node.parentNode
4 C9 Q. P0 X4 @5 y% r6 Z var parentBgColor=this.getobjstyle(parentNode,"background-color");
, u9 Q: l8 h9 v! t8 k7 t- t# Y - `1 ~+ O/ a! |0 {2 m" i3 E
var isLast=false;
7 X0 j" U- Q* r1 p/ ]) t U D7 r7 [ 1 y; d$ E/ f& v( G
while(parentBgColor == "transparent") 3 Z% C' D& O2 I
{0 J2 ~6 T8 b, z8 v
5 Z5 W3 I9 Z( T! v! W
& a$ S% e+ i4 h- Y7 Q, c if(parentNode.parentNode == null)% _0 u I; r6 f1 l- f1 U4 c' q
{
5 S1 H$ ^; f( R: c- m( o isLast=true;
! N! b" d. t4 i" r' A3 d* @ break;
* {% ]6 ]0 J7 X' w7 I$ l2 P& C }
z: M& m x, k8 x; J, j1 g* z parentNode=parentNode.parentNode;8 S% G' M# f* I9 C9 u$ s. M
parentBgColor=this.getobjstyle(parentNode,"background-color"); `% `+ Q6 x9 x1 j4 g+ b
O6 |& C/ G; f& R if(parentBgColor != "transparent")
\9 O& g$ @) F: s+ E0 ^ {
+ g" l; m) u+ i3 _4 N' o break;
+ t1 {9 z0 ^2 u }1 E) y/ k% V3 i% D2 K3 U* T; U
}
" j% M7 N7 E6 p b3 Z8 p7 k/ Y5 A if(isLast) , ^* c; ^* m. J9 U4 b, g0 h+ [& ?6 I
{- j8 h7 l# ?, H. z; M7 d5 l
if(debug)
! N0 `$ G& g7 R- t0 A* U {
% |, x3 Q7 U3 q9 B( |2 T2 E+ _ alert("last!!");9 P& N' _5 }- l$ U1 r |$ M
}
2 { F. Q/ ^: d1 D0 M2 U if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 U6 }* y/ s4 M: E" @6 T* J {. [1 A0 t7 X4 I1 p' {' m4 \4 e; M/ \( k
orgNode.parentNode.removeChild(orgNode);
% ~3 C& G: w0 l }
, {* K; r! m! R' O H) ] }1 z* y4 C) u6 q% S% ~7 q
else0 |* X6 t" x6 b" `/ ^6 c- r
{' D* O- w, Z- o* L m( ]; m# k
if(debug)
- ^. ? F) z/ \: Q" z {
, u& \+ h5 c7 l" D! n2 m alert("compare color and parent bgcolor!");* f' Z$ W! C- f* H- \! ?
}
. d' D5 W3 d: t4 C) g" P parentBgRGB=getRGB(parentBgColor);
! r+ J1 m8 P0 p0 w if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' G2 D u4 r$ c0 g- _2 z% w {
; @" r2 X6 g6 M% B/ z2 o! x orgNode.parentNode.removeChild(orgNode); * ?/ V; c9 Q2 ^- U4 Z
}
; O3 R5 u+ `+ O/ v }
# m, R5 k; A0 h' J( U" J3 P6 }" ? }
4 O/ ?9 E* x3 G3 r5 E }) `) x" D: i) |6 j5 F
}
( N3 H, @4 ~3 [( _, O1 A }
' n8 W) {4 I2 V6 Y) e 5 l+ j2 s. l$ Z! f# p
5 S1 H/ Q% q `# f var itemFrames = page.getElementsByTagName("frame");9 {$ c0 }+ _" f
var itemiFrames = page.getElementsByTagName("iframe");- I# z( c7 k. q3 G/ |9 x# M
% l; f3 N6 P: ^& D- J var frame, iframe;' {, ?7 v1 ]% `) M! n
if (itemFrames.length > 0)( S- k' }% ^7 G& e3 P: y: ?
{
: j% n# [" o0 I+ l for (var i = 0 ; i< itemFrames.length ; i++) ' f* |& u: k0 T) {
{8 y9 w: s: x5 d% v2 e
frame = itemFrames.contentDocument;$ f# e$ Q# v5 N, p* M+ b
this.RemoveHide(frame,objname); 8 j9 j) m- d/ f, x; r2 y- n
}5 z! {6 D, p B: [9 A6 Z4 ~
}# N" F8 k3 @% s) [& G, L
if (itemiFrames.length > 0)
' m8 b' O" W; g4 { r0 v {8 _6 R, R4 X* c' p% S% ]
for (var i = 0 ; i < itemiFrames.length ; i++) ; s# {2 t" W2 @8 f1 q! G
{/ i2 a' o/ x7 G- I
iframe = itemiFrames.contentDocument;6 P: X0 Y% e; z) n( J
this.RemoveHide(iframe,objname); - T5 T& u, R3 t" {4 @8 A" M
}
0 j& H) c- b3 q1 T: O }- [0 m0 U9 o/ Y& O* z7 i
}
: C3 V8 o1 ^# R9 y' k1 V- s3 W catch(e)
' i% G4 x. [+ Q( } {
7 U$ y6 _7 o+ H. W6 r, Z if(debug)) p: t1 z. S+ ~' U) i% q) {$ ]
{! t8 U! g# S. m4 }/ M
alert(e.message);
& v9 v; _! Q* ?! J: f( G }1 I" h8 Q! Y; U& x
}/ H+ S6 ~4 x& Y
}
6 Y* w9 G; j' `) `- ~ ; U! E+ ?& l' t9 l' [: I
}6 h; _# F4 C: i. V4 q
6 Q; o; `+ \; t9 B6 xfunction getRGB(colorString)) E; r& s( R" t7 ~
{' B9 Y0 ?; E* _+ }* B
var RGB = new Array;
8 X; ^9 B L! _4 c& y var tempSting=colorString.substring(4,colorString.length-1);- s/ B: P: \7 Y* [ ]% y7 ]& _
var tempArray=tempSting.split(",");* C- j8 G! x n* N ^ E! T9 F! h5 ]9 q
8 X1 H8 L4 o' S
RGB[0]=parseInt(tempArray[0]);% Y; K D3 Z, R# l# X
RGB[1]=parseInt(tempArray[1]);
8 b9 Y# t( }, H* W' } RGB[2]=parseInt(tempArray[2]);: ~% o$ ]4 v, o9 G1 ^! k0 m4 P: A' m# ~
) V: Z- y, J p return RGB;
8 _) z' h( a2 W* N! B}* H/ N" o, l* ]! s
function keys(evt)
5 n+ h6 C- ?) _) n+ t* i { ( w6 E5 M. j; ]( s( ^
if(evt.ctrlKey && evt.keyCode=="81")
) {$ I: T4 p/ A7 `$ t l3 q' V { " v8 D9 X6 O4 ~# @5 f
CleanHideObj.on(0,1);
' i5 ~/ D* A2 |) c$ J: m alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % R4 h4 @4 E& a& |* I
2 m; X, N9 Z+ z+ d0 X# z; v7 f }
1 Q- ^& Q" F$ w/ M( x8 } }
* h+ t! b( j5 A8 Z* z4 Ndocument.addEventListener('keydown', keys, false);
* j# v6 H3 g2 k8 h( B% ~GM_registerMenuCommand ('Clean Hide',
% h) T1 ~7 D' I$ {2 A' Ffunction(e){
3 k4 D% t& h1 CCleanHideObj.on(0,1)
- K' n1 x* T! K7 |' L( V* c. Aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, s' ^1 Z' W) }
});- f# Q9 T. i- G$ o% K' d Y$ y
|
评分
-
查看全部评分
|