|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # W+ D7 M) e# U9 j
4 o5 h, o: a* {- X+ h
火狐插件,用猴子) q+ B2 p0 Z) }7 m# q
' B C0 b$ u: i$ ~# A
var debug=false;
" s$ D8 a7 m4 i: F: Z8 D1 rvar CleanHideObj=new CleanHideClass();$ F; T0 d" W. K9 p, k3 n
0 \" b/ m& N0 efunction CleanHideClass()
4 W) ~ h6 c9 P7 t0 s0 K# b/ z{
6 O/ ~3 R" A4 \2 a! F; ?
% T* Y. k5 j1 |" w) b this.on=function(id,bMZ), M( g+ \) a# D ?2 ~- {$ r6 y
{
$ Y% D* E" O5 y
& [* Z0 c9 b; e- [3 _ if(id == 0)
0 A2 s& \ Z* t% F {
+ E/ ?6 @, b1 X" e5 h9 P- D$ \7 J var page=/* document.getElementById("content").contentDocument */document;
9 M9 i. G5 q I: C this.RemoveHide(page,"span");- X8 Z2 w, P- h, n
this.RemoveHide(page,"font");
* B6 }, i* d3 f( i this.RemoveHide(page,"div");) B) [. H0 `% u' J" O2 D
this.RemoveHide(page,"p");
3 f! C4 Y$ } ~* r t8 @ 2 V" i# {$ y( o) Q! \* K6 ?. n
}
0 X7 J+ |# u" B
& {. V4 U3 Z8 ?; h% j( S6 Z }
. g! U( l; G) W/ ^: R6 }' Z, g this.getobjstyle=function(node,prop)' P( S8 i8 p1 m1 ?# h: b; I
{
; D& \/ Y5 z/ ]; r% C try# i. Q/ `+ U$ f& V2 @2 o
{# `5 }0 u/ [" Z4 M
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" m2 r, g) p8 E+ _2 N) E& f2 ~ }2 E1 J3 Z" M; j# S
catch(e)
6 W4 r: f3 e" O! p {9 B4 p" g6 \: K
if(debug)
/ g. P5 s4 e% s9 h& I& O {6 ]+ {; R. N7 W. c6 ?. |9 b
alert(e.message);+ V! l% H: H [! c8 w; [- d% d
}( K4 N% {* b$ y* J7 H
( B) p) ]- e6 f1 i
return "200";( F6 q# `* z7 F7 F, y
}% e9 C& s( E# ?' ~" n& `
}
7 }/ M d: b( f7 o# [6 j 0 R6 R/ p* {' ~3 M) ]5 i
this.RemoveHide=function(page,objname)
- H% y$ e2 n, M9 o8 A {4 y) r2 m5 w+ d
try6 @3 z) J0 @9 K
{
. C4 B2 ^6 T1 g( O var minValue=15;8 Y' s4 a v* E2 O0 ?% l& ~6 \
var objs=page.getElementsByTagName(objname);
6 n3 M, w+ f* M
- Q) T: U5 t7 r O( C if(objs.length == 0) 4 Q" x9 G) p( ~! J$ O! A# M# V
{
9 E% Z! ~7 H& p, d6 \ ^& ` if(debug)* z& p6 @9 v( b8 D/ W
{
" p3 S- ~4 K2 i alert("no object found!:"+objname);& n6 k9 b- [& l& U* }' _: j: w
}1 W1 d5 F% g! s9 T' Z
}$ j! o8 G! q2 m P1 B u; Q
else
$ G9 j6 \1 c/ t: j {
% o" R, d8 Z6 g0 e$ p% l) x4 _
! i. _6 [- ?* ^, M P8 E) q for(var i=objs.length-1;i>=0;i--)
8 L7 x. O4 D0 m' W2 P) v7 t {
" T5 Z! C4 K" } var node=objs.item(i);
; v/ d% w# _) ]% p& T& P - R7 ~- [; l X
/ ~. R. J6 J8 b* h- [$ j
if(this.getobjstyle(node,"display") == "none" ||
' x7 u& r+ P ]8 G5 c/ K this.getobjstyle(node,"visibility") =="hidden" ||7 c- Y6 d, U1 ]
parseInt(this.getobjstyle(node,"font-size")) == 0)
* r9 `0 g& {! r9 u( H {
! z9 ^, ]4 H- e/ X if(debug)
0 R( \6 H3 m& Z, J" r) a$ K {
; U$ Y* W& E0 j# s1 N alert("remove invisiable!");! I6 I: s+ b- D: t
}
: U5 B. f! S, H( P% F" _/ z node.parentNode.removeChild(node);
# A6 H0 z. J( F) W. D" V
, I( l# l( S8 v( a, K+ @ }) ?5 y: H' Q' Y
else
0 i& A/ |6 I I* Q' p' t0 Y/ J {
8 j# n6 Q+ K% z/ n' U# X if(node.parentNode) + _ Z( T. x$ X6 U/ X
{
) ^% H8 t' _, n, F* f& j9 s var orgNode=node;
" D; \0 ~# Z: B! V; Q2 a var orgColor=this.getobjstyle(orgNode,"color")( t7 B+ K4 p1 u! y: x
var orgRGB=getRGB(orgColor);
' }* x8 v: X- ~4 h# D0 c, f
3 y4 a. q3 L9 B& S" Q; f* w var parentNode=node.parentNode+ E" D/ d# w2 y- X, N
var parentBgColor=this.getobjstyle(parentNode,"background-color");
" m. U) f( Z) D9 t# l. t
( R& F' p! r* D0 U) V var isLast=false;6 k n1 ]% I$ s5 z
8 N2 g$ u; p- K9 n; ^& ]% W! V5 a while(parentBgColor == "transparent")
) `: r; T7 O; A; x/ g {7 l; l. Q, N& F. k' K
~. m7 y4 Q1 s$ h% Q3 w
9 f2 y! y2 b# g6 {& } if(parentNode.parentNode == null)0 D$ V# ?- v) V
{& ]2 h A- ^0 X/ p. K
isLast=true;+ I. b! ` c9 o' e* R) h: I
break;+ e$ D6 p- u Z! g( z8 | u8 v
}
8 f! p/ @) |1 Y" ~7 ?, h2 Y% d" Y( K8 u parentNode=parentNode.parentNode;
$ s* }/ y5 k7 i/ c( O/ P% h" h$ h parentBgColor=this.getobjstyle(parentNode,"background-color");9 m+ X. q$ H/ D* r1 D
1 G0 G! h1 \' M u* X if(parentBgColor != "transparent")
: T" D, R# g5 S8 w" [# [ {
( I8 _+ y9 l4 Z' D0 z( L P break;7 z# h- k' `$ b
}0 O+ ]1 V- s8 o% z% b
}
: B3 a- ] A6 @: i/ e if(isLast)
* `' R) ?8 \; ~& E$ C! y+ U {
1 H1 l0 X! ?7 I( S2 o3 n if(debug)# S& m# `" d$ x n6 _- r. S- V
{
1 W9 C3 ^7 d8 e8 S alert("last!!");4 R. F6 h0 m% F& H5 a0 J6 J; v
}3 U: O8 r* X ]
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% i* S% c l. Z5 a
{
, r: b9 C2 T* B% b9 Z/ b orgNode.parentNode.removeChild(orgNode);
% q; C- L+ _# q$ C ^ }' e& e8 U4 Y* W& F Z% q: ~
}
3 N& G7 H- Q- I; I7 G7 S else
" a4 l! T& P# n7 I1 g {
7 a) P* M' Z5 g" c if(debug)
/ c) Y$ Z( A7 \' g; M" f1 j {7 \* T* @) X8 B6 K2 u
alert("compare color and parent bgcolor!");3 {) d [: D. `2 e L. R* r
}
' u# j3 w4 b, {. j6 E# D' K parentBgRGB=getRGB(parentBgColor);
" ~/ H" a P9 w1 V! v' m5 o" l9 ^ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 u+ I: ? p4 Y {
$ e: n* b4 P' b- e0 q orgNode.parentNode.removeChild(orgNode); 3 k4 q2 ^) G6 S$ h; m2 {7 i; ~
}
& @; M4 r( P; _ O" j7 d Z: w/ B' | }# R! R: B5 `% f; K; T+ ?1 m8 ?4 Y2 J
}
2 C; b* O3 k1 X# h }
, I1 Y4 I* j+ u! i: i M }
8 J3 F% ?' ^5 f6 H } C$ ?! |" L& F7 b
' j! V9 @9 t, p9 K( \. o ! W/ u2 w) h# k- M: `% a
var itemFrames = page.getElementsByTagName("frame");! d1 F1 c2 u( o G4 V9 x
var itemiFrames = page.getElementsByTagName("iframe");& e8 [0 K$ g' K7 Y. J m
9 r* J' `! o* j
var frame, iframe;
# e8 O4 {/ L+ ?0 G1 U if (itemFrames.length > 0)2 G7 f9 w8 w+ b
{
" p$ ^+ r7 W5 a) [5 ~" A for (var i = 0 ; i< itemFrames.length ; i++)
R% h- n8 Z" q1 ~ {
0 F! \. B* I. c+ { frame = itemFrames.contentDocument;
p6 X* P! |) x, }, w8 ~$ H( G this.RemoveHide(frame,objname);
* I/ X- b: n7 j }$ u3 A! T( |4 K) w1 X. j& ]& f- K& d
}: p9 U: X9 |: @: s$ P
if (itemiFrames.length > 0)! N: q0 Z7 F; @
{
; a2 r6 F2 c, Q" L for (var i = 0 ; i < itemiFrames.length ; i++)
$ H( o" f* ] v* ?2 ~1 i5 B& c Y8 ` {1 |' K% U6 M* K7 {% k
iframe = itemiFrames.contentDocument;
7 P4 N+ m6 W6 `( b, f% i" n1 D4 T6 ~ this.RemoveHide(iframe,objname);
! R3 g' ]* L% }+ y/ S }
0 u3 |1 i9 O; C1 z; i' I' B. B( g }
v4 ^6 _) p" B6 O$ c0 N4 C }0 C& J5 ]& S& ^5 Q, V
catch(e)
4 {& D. U. P; K" P {
% |9 r9 ]8 ]$ f' X) B. F8 K if(debug) C6 U* v$ q- Y6 _
{, P5 H5 Y/ l+ u& o& K# t) n5 N: q
alert(e.message);. T8 K8 r+ T, r5 y9 x, m
}
- Y/ {0 }; V) J+ K0 X% y }5 ~; P, y o5 d( }& o* f6 S
}
* A* J) S, b! S& S/ p+ u4 z7 j
5 x! ~2 `, A7 s6 Y+ w}! B7 J( C% Z6 ]0 Y9 k
' L; Z- F" Y$ ffunction getRGB(colorString)! X: E5 r Y/ f; a- t2 P7 I
{/ t u+ X7 v( O' K2 D7 Y
var RGB = new Array;* L. P2 A3 ^9 ]: x
var tempSting=colorString.substring(4,colorString.length-1);
9 p# O/ f3 I% O1 n var tempArray=tempSting.split(",");
" Z4 {; S L/ i* i |3 c- M
4 g8 }& z1 @" e- ] RGB[0]=parseInt(tempArray[0]);
) F' U7 X" B9 T8 `, m/ a RGB[1]=parseInt(tempArray[1]);
! a% P# f5 H; X( _- N8 e- j RGB[2]=parseInt(tempArray[2]);+ k, h6 [/ ~4 n* q
% G& e. R1 Q6 c# d return RGB;
) u, r f# T1 n1 [: p}7 l( _1 e, m) S p2 x# \4 [
function keys(evt) " ^5 S: f3 c( q* v
{ 4 H9 T3 w" j0 ^; l( m" \+ A% n( `, A
if(evt.ctrlKey && evt.keyCode=="81")
. X; Y* K1 O+ ], q) F6 p# l9 x! o& b { 8 V* p3 c' Y* ^" `9 Z. s
CleanHideObj.on(0,1);
: S; }( M w8 }1 m4 A# ] alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' R$ j' i: x+ p6 g
4 B" R) g" Z4 L3 m } }
& u9 ?( q$ {, Y% q } $ d6 q# u+ @) B) _ y' R
document.addEventListener('keydown', keys, false);
3 A, ^7 `. t. R. @" d/ O1 xGM_registerMenuCommand ('Clean Hide',
j/ a. J! i) q- a0 B/ o) l: X. ofunction(e){4 l+ I8 S4 i9 [
CleanHideObj.on(0,1)4 \; c6 K+ B( q4 e1 k0 ]) u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: R: E9 j3 l+ E; d _0 n% `
});
1 Y* R4 v, `4 Q A |
评分
-
查看全部评分
|