|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! e, }' b7 }* d0 t
8 T/ N& N, Q4 v, O% `$ I2 B
火狐插件,用猴子+ _8 Z ^8 w' m, H. e) K# {
4 ^% ]3 S$ X6 d4 d( h" r; I
var debug=false; 5 O# R5 W& z J9 l6 H' a# J
var CleanHideObj=new CleanHideClass();
# z! ?- o/ ]: a& p+ z
, P+ k/ R. w3 E, [& u' [. |. L& Lfunction CleanHideClass()
6 X& y6 X3 D3 ]& a/ H{
, Q( k! i l+ O1 N 2 P1 K: a2 V9 S
this.on=function(id,bMZ)9 t1 E1 S' K6 F1 {+ x8 ~' B
{
/ j+ D8 D2 [! h% \ 5 k/ D- z' P( O" }' t
if(id == 0)
! |7 p M9 k$ y9 M6 Q m; j: p {
5 ]& d9 n3 @1 J* B9 \ var page=/* document.getElementById("content").contentDocument */document; 2 L4 v" a8 c' D3 T* o9 j- S( A
this.RemoveHide(page,"span");! I/ J# }7 N7 m6 I( q
this.RemoveHide(page,"font");9 n3 ~& C8 H3 ] ~1 T/ R
this.RemoveHide(page,"div");" C' m# i+ N$ ^% \1 G
this.RemoveHide(page,"p");2 H+ I1 W5 h, t' [% L6 J
+ E% t9 A0 u6 X$ }- R
}
1 }1 G6 n% K3 [4 ~7 h8 W# u 8 J% H' X3 U) R3 R! n8 p/ x
}
% e/ x4 y) _% }$ H" \1 i this.getobjstyle=function(node,prop), e6 M# `" F3 W$ R4 ?% E
{$ j* ?5 w; N3 `$ z
try% @6 A# e. C' c7 p7 x( c7 z
{9 l3 L/ A: O6 Q7 c% c8 ~
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 v2 g6 b# g+ Y! s/ _ }
" }) `+ Q+ M- D catch(e)
9 ?3 P* W) F/ t. {' _ {
9 R- j0 P# o" B" e$ B2 S9 y' i if(debug)
* U( V5 ]7 P# l) L# i8 x {* J2 W, g" v, ~. U
alert(e.message);! Y% S; B5 x+ P; z3 W5 G! O
}
, r9 O- _3 L8 I0 `' M. P0 A' z1 W : F8 h% L% q) w1 }1 J
return "200";
9 v! Y! r. e9 ` F! z: E% m9 \ }2 ?5 s" v9 C8 H2 o# N
}2 x3 w7 t7 k6 t: J- b
: G0 n' B* R) T c" ?" J9 ?
this.RemoveHide=function(page,objname)
- W0 ^4 u" d: R$ O {1 B% |. n/ p, v3 D
try P2 j# F; j& g1 r" c# J
{
& B% _, w$ F# J9 N' f+ q var minValue=15;4 I6 B, Z% p, E1 ?/ A% ~4 L
var objs=page.getElementsByTagName(objname); ' |( x9 I" G' \& x$ i
9 z4 K" m6 b; C* w, j/ p8 f3 m" [ if(objs.length == 0) $ t* W6 B& y' o/ B
{
3 s$ S- v- p0 Y6 c if(debug)
+ `. I) r- A/ p4 D. p {
9 t! {) d) E, u; N( t alert("no object found!:"+objname);+ Q8 I, O+ u7 y5 x+ p, y
}+ Z* ]/ k( A2 N' p
}
! j3 Y5 @; A: a, `3 P4 B5 R else m. y4 l/ P& N: ]# O# {& z
{
# r6 u! p; d- M; _0 `3 ~ K! { $ Z5 H' m* X% ^0 @
for(var i=objs.length-1;i>=0;i--)
' C1 X7 z( E$ r1 i {) B( }+ ?9 d" c0 r9 s3 A1 H
var node=objs.item(i);
2 D$ F& H- Y) u0 x 7 [7 B# q+ o3 n
! Z1 [( T2 y1 P8 q if(this.getobjstyle(node,"display") == "none" ||
7 _ J9 J3 Y+ I2 ^ this.getobjstyle(node,"visibility") =="hidden" ||8 {. m. c* b3 b: |( c
parseInt(this.getobjstyle(node,"font-size")) == 0)
" U: D1 D( ?; ~- A0 V7 Z {
$ U$ H1 T7 ~ n2 L; F: y+ H9 W if(debug)% X4 j) O9 p$ r9 b9 x) ~: B2 `
{' u; w6 p9 M9 q
alert("remove invisiable!");0 t, }* H9 F! b) _5 v4 C6 D2 E
}1 b% Y+ g0 y& L
node.parentNode.removeChild(node);8 l2 A5 N3 A7 Q. F
4 M7 b# Q. m; @4 l6 q }
9 }7 g% q% W, t5 _. [6 _ else " R( \! I" h7 p" C
{; T' d9 ?5 ~$ c, X
if(node.parentNode)
+ ^! W. ~$ Z. d% k1 ] {/ x- C. N5 v! L6 X( ?, Y8 s7 h
var orgNode=node;
8 R% m0 {' Y0 E var orgColor=this.getobjstyle(orgNode,"color")
0 ^; E0 D1 U% s& |' E5 c6 h1 A* V% M var orgRGB=getRGB(orgColor);
* o& C6 i( b8 `. D' B0 K/ ]
7 G& v( Q* y$ o+ j( |+ q+ h9 p var parentNode=node.parentNode
/ M# g! R+ a& n! [- V var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 r% u0 t/ x0 F2 p! u. j6 e/ T
! {8 _/ ?) u, {( R. s1 K var isLast=false;+ R: h; z( l3 u7 |
0 m) U& y/ ~# G, C! L+ X3 _
while(parentBgColor == "transparent")
6 K- U: |9 ?; d( t1 a- w {
. Y* t a% E/ _ ^ / A3 ~7 n7 U# r* |0 F& x; U \$ k6 g
8 J$ T. x1 E. |, S/ o% U A
if(parentNode.parentNode == null): g' s# o) D# g" g6 [1 a( g! [: [
{
6 ]+ Q' C) O$ X1 `. ^ isLast=true;7 u$ o4 _. N$ B
break;
+ r& n3 G& }: ^9 [1 |' h }
' e! i# A: S4 @; t9 D parentNode=parentNode.parentNode;+ [+ [8 E1 X$ v0 G% _
parentBgColor=this.getobjstyle(parentNode,"background-color");9 ?, a$ _: {) Z$ ^4 X9 ^ ~
! A% Y$ X; n9 S if(parentBgColor != "transparent") " B W& @; D) K+ A% [' M0 K' M/ B
{' F U6 g4 ~6 G2 K
break;
' q& T0 y, A7 ]8 s5 h2 N }; D$ F9 P5 |) e6 P0 s7 [2 f; s
}
4 e3 Q, A. {( D, l% @% V. e1 Z# ] if(isLast) 1 X; b) s* N7 X9 L$ M
{
( f6 L& o- T$ `2 p, ]3 F8 g if(debug)) |/ O" e0 m0 u& p
{. @: a7 t( I- L% ?9 I7 ?7 g! |9 U
alert("last!!");
0 d5 I0 Y g$ Q2 ~8 a" v }
) p8 o) k8 R' g! Y) n0 n2 i+ j# W if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 D, q9 o: E9 h* ~
{
- M+ l. s0 T! @" l) K orgNode.parentNode.removeChild(orgNode);
% v% i" h% b! m1 M# f6 i }
4 N9 e* p! s" k9 p# L }
! s( O2 g; S4 M9 }' A) P. G else# P9 c/ a+ ]' T& R7 w5 P
{( z# ~+ I* d. |5 f6 O: C% w$ W
if(debug)
1 S7 j$ g; S% V( m5 E. {9 x& s3 |! ] {5 H2 y* }1 s( {/ f( J/ [' C7 n5 F
alert("compare color and parent bgcolor!");' P. k" M6 [# P
}7 r% i3 s0 G7 W4 Y* R& r( q
parentBgRGB=getRGB(parentBgColor);" p" N! k5 V, h9 x) x$ d
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 i6 G7 ^' S/ N+ n7 n2 f2 X {
- _& F. m9 n! A8 ?) N" C+ g- h0 | orgNode.parentNode.removeChild(orgNode);
' `. l+ N) Y% m. U3 D }
6 P$ Q7 |( W* i' x! w }% @; c- F+ w' [4 s: w' D
}
) `6 i! O) ^0 s R$ E3 Y# ^2 g }
% @/ Y% S% {! f) G4 L4 ` }
) A% t: |) I& U' E' O. [( V! h; o* U }: |: w& J) I& b# }1 H
4 L8 J) F# D, x9 z- I( @
3 x- G; G# h0 U, q2 Q& y var itemFrames = page.getElementsByTagName("frame");
$ A+ D7 `! _9 I. V C var itemiFrames = page.getElementsByTagName("iframe");$ b: E0 q% }; T# M- i. E
3 j$ p# w$ j7 K% A r+ ~
var frame, iframe;. ?: H6 ~) @& g' m- M& |! Q. X
if (itemFrames.length > 0)
- G( y. D* E: Q M0 ] _ {0 X% W+ S+ V7 l z
for (var i = 0 ; i< itemFrames.length ; i++)
; p8 G9 t( ^: {8 B1 ?7 j {
) {' j( G2 _0 z' u/ r+ i frame = itemFrames.contentDocument;
& o# w; l- l% j- t& B+ ~' d7 u this.RemoveHide(frame,objname); 9 l/ S" {8 }' Z
}& V; k- ^% D' ]
}1 N4 g, D7 p' X) |; r! f5 K( \
if (itemiFrames.length > 0)
5 J# q3 P8 x T {3 [( v& p$ N& g4 W2 N0 l
for (var i = 0 ; i < itemiFrames.length ; i++) % S- D4 {) \" B! A
{: O# b" O- x2 g3 l, w n
iframe = itemiFrames.contentDocument;
9 r+ L' Y$ J" }& H, R% k this.RemoveHide(iframe,objname);
9 E' g& A8 V+ s: H' L% t# ]" s }7 Q# b1 e3 A; H. Q- X+ V
}3 h4 B# ~0 J8 z/ a
}
U( U2 b/ s/ G catch(e)/ ~, g/ o3 d8 e! y
{6 ~9 y9 G9 C2 S& {# f
if(debug)5 W3 v/ i. E6 d: s) b1 p
{. U* K& n5 ]1 d# f
alert(e.message);
2 z- Q$ P; j0 W/ o! [ }
+ ]6 ^% Z6 O& Q+ d+ | }& e Z# |( R& \9 S
}
5 c7 D: i: ~; Q* K 6 |4 T9 ?4 v2 O% D
}
" k, }+ e# j/ j2 e7 |1 B& X8 v- d2 }; O; s1 q& H# I
function getRGB(colorString)4 \; I+ f% c$ \6 H
{
( q/ t" D7 X6 o' D: t& U3 y$ s var RGB = new Array;! H' ^+ ]" ]+ i, j' g P
var tempSting=colorString.substring(4,colorString.length-1);
2 i( g4 k# \( V- E var tempArray=tempSting.split(",");- X) u \' N+ M, O" B0 |! Q% u
+ t9 i' q6 f- X# E. m, B RGB[0]=parseInt(tempArray[0]);
$ b# h: b5 J" b2 z1 O& |* \$ b RGB[1]=parseInt(tempArray[1]);
6 E4 ~5 \7 V% {9 s5 { RGB[2]=parseInt(tempArray[2]);. p4 L) X t$ p1 j, T9 C) L. w
" l; U8 \+ S- I6 R; e. [0 \# i
return RGB;0 |9 ^/ j- f7 V5 H% b
}
$ B6 I& h4 Z$ k7 ~function keys(evt) # ~" v+ S- |$ a5 m; ~
{
5 L4 |6 M$ F2 i( B0 }" i+ ` if(evt.ctrlKey && evt.keyCode=="81")
2 W9 W- v$ L2 z% `6 V/ q. V { / s3 T- X z2 u6 T/ [& N0 R
CleanHideObj.on(0,1);& |3 h6 Y' D4 C7 S* E7 u) D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 h2 @+ o3 y+ }1 [9 p
: ~, s! Z- z0 S1 f- l+ i } " ^' S0 x# K" N, G
}
4 t/ L0 a. O! F8 ?7 T" G9 Rdocument.addEventListener('keydown', keys, false);
5 Y6 `( R4 ]2 C( u" X2 WGM_registerMenuCommand ('Clean Hide',* ~' i/ u5 m, i& A6 F; F7 f
function(e){
$ d' H$ R* x. ?# D0 aCleanHideObj.on(0,1)
9 Z' }2 e9 k7 w' E3 walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ y5 F1 B1 R) p& W$ J});
3 w% q+ A8 H9 s# S, n |
评分
-
查看全部评分
|