|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - ^8 b9 n3 Y9 c: s$ Z
2 v9 l1 Z& m- ]2 ?7 u; x% p火狐插件,用猴子
, c0 L* a" e0 k. z) R1 L! B- k; d3 A
: r# |. G0 q, uvar debug=false;
! v. |2 b8 R1 k' o8 E6 ]var CleanHideObj=new CleanHideClass();
/ l% W! ]# F8 s8 o, M4 _2 Y4 l5 |0 a
0 m* s% J2 Q4 v1 Q* u/ Kfunction CleanHideClass() 0 |4 B; F$ q- l* s
{ 2 y+ C5 ~6 N: X: {0 U. f$ Q
# X8 ^* J8 Y7 U& {1 h+ e3 t this.on=function(id,bMZ)
; W/ u1 @' s! _' h {. ^+ c3 B# {2 A4 ]% N' a
: l% a, }2 L3 L1 T/ a
if(id == 0): Y( Z9 o8 Q- ~* m+ S
{, Z2 s* D$ z/ { a1 B) ~
var page=/* document.getElementById("content").contentDocument */document;
2 M+ p$ D' }+ b( g9 ~" E. x this.RemoveHide(page,"span");0 }1 }- r1 h) `0 P! _3 T, q" D
this.RemoveHide(page,"font");
7 Q/ z! `: ]: {" i4 p# Q this.RemoveHide(page,"div");
- V9 H U. ^7 z this.RemoveHide(page,"p");
+ f M0 P& L/ I: f& V: K
* ` B* {. r8 t/ S }
9 x: o5 ]" j" n: f( q
. L# a1 g. L' U& h" L h }
2 O0 y* z& A6 F4 G4 s8 _/ [ this.getobjstyle=function(node,prop). u( w, Q9 U" h+ `& H& x* q/ g
{
- B7 C4 ^; A! @. e( E, s try
/ U' \ H8 }8 v. }) R( _6 p3 d {. W+ g1 X" B+ y! h5 h+ Q7 q* t# z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# l+ q0 q3 T7 f0 t }
; s m: |* o9 K/ K1 q& T6 b catch(e)
: A" y2 {$ m- P3 n' n+ p1 U0 N {1 p! ^8 l; y9 c. x8 ]) ]
if(debug)
. K% Y9 M2 x2 p0 F; Z8 W {
1 ~8 W$ q1 P, a" R7 D* x alert(e.message);. L# [) R: Y( O' O% y8 V
}* p6 Y+ P* D+ J
3 i; S" @. o9 f3 R
return "200";' ^) z9 P2 Q4 s4 ~% q; s7 E4 c. s
}
" ^9 ?+ ~* H) I6 ? }3 a9 t" {, f+ [: O
, B" \% f5 ]4 O! U. Z% f this.RemoveHide=function(page,objname)
3 X" O3 p& {$ \! W( J5 i6 {- Z6 a! h {
. I' P/ O1 _7 |# }# A try
' O) y: U# p4 D$ x, W; @0 q {% l( C. S% G( G
var minValue=15;: ^3 n# n- G9 O5 N
var objs=page.getElementsByTagName(objname); ' t) U& p* c. E* B9 C; q
" d! k5 q" o* s& t" D/ O6 E if(objs.length == 0) ( m- N3 a& a' V i
{
4 L0 M1 `6 L# v- n5 e" F if(debug)% B ^4 ~% K! J. l4 g( o9 D- [6 t
{0 a8 L8 {- r9 y0 W; \" A$ p4 [% d1 e9 ~
alert("no object found!:"+objname);7 n/ j" D3 H2 G/ V' U
}' ~- @: r# h s8 o! ^! m; e% ?
}
* Q+ F5 ]0 y5 D/ m- | else$ G5 @. `; E2 L* B
{1 a" Z! Y3 F a
# K1 M1 U- j1 \
for(var i=objs.length-1;i>=0;i--)
! ^1 {! v/ _+ {! {, C7 j3 I {5 F! q3 D! P5 X1 I2 ]
var node=objs.item(i);
9 U7 Y+ c! \6 c S& \$ K
, Y/ c$ |( }% u# m6 i
/ h- Z- J8 F0 }, f, k) h" x if(this.getobjstyle(node,"display") == "none" || H! ]( T' `. |6 H
this.getobjstyle(node,"visibility") =="hidden" ||
/ e9 s3 t1 }3 B* W# D parseInt(this.getobjstyle(node,"font-size")) == 0)
4 L/ g8 L! r& j: J- {, F" t* Y! ] {
' G: i* {: V6 k if(debug)
& W( T5 z5 h7 p% S! U* j: f {
2 M. [" k2 _; n! h+ [+ S alert("remove invisiable!");- }+ c. r/ u: s! }6 t$ A
}
. v' s0 { o) q. x5 [ node.parentNode.removeChild(node);
% c4 P1 I% `4 G6 F " `: G$ o7 r/ u+ k8 M, K
}
5 b: h( y y& n else
; W: [; ~$ p. h3 d5 k! Z, ?- W4 Q2 q {/ i; n- [: E* V' Q
if(node.parentNode) : ?2 V1 c% J) o* B
{
& V; \0 Q$ i( y! J! D var orgNode=node;/ K4 R$ M- x6 Q6 G9 O. A
var orgColor=this.getobjstyle(orgNode,"color")
( @! C7 u! k* J3 R var orgRGB=getRGB(orgColor); + o4 ^) Q, s" I X: S" |1 j
+ Z2 E8 W% h! ~- M9 |( Q- B
var parentNode=node.parentNode1 X0 g4 p+ v/ ^& ]: z
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 m- _+ W- ~: o" p Y+ i6 Z* ~6 \% m3 Q
var isLast=false;
5 X: Y& E% ?7 k7 y- S+ @
& Q: H4 k! o! g9 ^ x* { while(parentBgColor == "transparent") h( {! U) L8 U$ q
{9 ?/ x( N+ u8 Q* T/ u) {
% l1 R% D1 F# ^0 n/ c. r, i
l8 t8 w! B! R7 K) e if(parentNode.parentNode == null)
( k6 `: f; V6 o- y {
7 k6 b) g. p+ r4 Q1 l isLast=true;
; s; y( d+ Q8 Y. p0 R+ v break;4 q% I z5 `7 g- @3 @, s
}0 L% C8 L2 Y+ _. p
parentNode=parentNode.parentNode;. G, H8 K9 j" `0 g: w
parentBgColor=this.getobjstyle(parentNode,"background-color");
, S. f5 G& o3 K, _" Q- h' H) A2 o( h' F7 h
if(parentBgColor != "transparent")
' c$ r& D# x% N) U) ` {# a+ u: B, P$ H) U* _
break;; n4 L1 C+ c% h$ {4 g
}
8 d" N' z5 c# C1 T) @8 \ }
0 ^1 F' V* c$ T& `* O- m7 o9 A if(isLast)
- D5 C; X4 m7 f( F {
" S& y; a; u( L, N: v1 m% Y* M if(debug)4 t. s3 Z, `9 ~& i3 G+ i1 p3 R
{+ P" x, d p i/ x
alert("last!!");
# R' J8 V9 V+ z, y }
. P" Z4 T. n" P: U9 b. a if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 ]! P6 g$ Z2 c' u" b. n7 L8 |/ M {
; } t* t, w8 I2 b. V& P# s8 I4 @ orgNode.parentNode.removeChild(orgNode); 8 T9 j4 b# U8 H6 n3 B3 |
}
E1 D6 n! B: Y }2 k, x' l% E5 L. n1 ]
else( G- g- ?- @1 d9 c+ o6 e; A3 Y' s
{& ~+ o* l7 p* }4 A. k8 g" b, E
if(debug). t. a3 @: O& _% w2 k/ R: u
{5 q- ]8 O4 o( ?9 V$ B' }
alert("compare color and parent bgcolor!");6 g/ X/ i* D! U7 l/ F7 r
}- e! Z% Q! ^0 X' Q B8 v
parentBgRGB=getRGB(parentBgColor);- z3 O* u' Y p
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, E4 w0 h' W! Q: J Q+ h0 [9 L {
6 K% _* ]/ [( M orgNode.parentNode.removeChild(orgNode);
" q/ ]' ~5 Y& B: \$ s# G6 v }+ J; H5 b% t0 _+ g2 K
}
, B6 t! C( ?% G7 r4 u }% g) p5 {2 O: m- n f- d
}7 q; j( ~1 I( a' l5 A
}7 D9 Y- l# r+ N$ U7 M, N
}
% b* H9 ]$ q" l+ B; H* p% V. _7 z1 K4 d 8 d! {9 m! Q: R
. n0 M$ @3 x8 w a var itemFrames = page.getElementsByTagName("frame");
7 E: A \7 A+ V! Y' E var itemiFrames = page.getElementsByTagName("iframe");
, a2 v5 G1 N3 }' O: {& s8 I 7 o: l& b0 B* e+ S3 b
var frame, iframe;4 e' O- Y% [" T/ Q
if (itemFrames.length > 0)( S# b/ G2 W9 B: b
{# F: B6 `( B" _, E1 L
for (var i = 0 ; i< itemFrames.length ; i++)
/ u; O* j1 ]9 n; b* b- J0 I {
* c4 ?! R9 e' `1 n# x7 W- c frame = itemFrames.contentDocument; [9 g, P: `2 J' o! g
this.RemoveHide(frame,objname); * o$ ]. F" @0 I9 K8 _. X [. v
}$ v' p: Z5 M/ `* x
}
) r' C, [0 x M z3 I if (itemiFrames.length > 0)1 W! |7 L0 X5 s' ?# l
{4 O: i# [* R# t$ s4 |9 g. p) A
for (var i = 0 ; i < itemiFrames.length ; i++)
/ P$ g5 `: ^0 e9 n6 Z/ W4 a! R {
7 O% o' J9 o5 i1 v0 T! y+ H; d iframe = itemiFrames.contentDocument;
6 Y: ~5 |; S e$ g; E% N1 _ this.RemoveHide(iframe,objname);
' p1 Q5 L! C/ W) L- U }
/ r9 r2 v4 z/ r% J! ~: [( D }
8 i& `( S) \$ Y }& `7 n# A9 W' y4 a' t4 Q% h- ]
catch(e)1 l9 }$ q# `4 G2 v0 t7 b
{1 l1 @: [) z) s) C
if(debug)
. `1 _; j" r+ a- X, G* l {
9 c3 z4 u5 X8 }- r6 T/ A3 n& o alert(e.message);
! o: J% ]5 j* H. g- R6 |" g' U }& ]( d5 U7 h, G, b1 v! o' J8 U' D/ c4 }
}
2 R' e3 j' j5 e }
, w& M; J# D! h" u2 m + w: F7 K3 N/ ]8 B `' j
}
( g. h1 a" ~1 l X) |3 J4 ]# o4 M6 v5 H+ o. M( E5 e9 i3 ^' ^
function getRGB(colorString)8 i1 T9 r4 _( r
{1 Z! N* {) ~3 q6 m' H$ P( K7 H/ e" L
var RGB = new Array;
) b% E$ h8 H# T9 o- o0 A var tempSting=colorString.substring(4,colorString.length-1);
1 W# i: n* A& Y$ E var tempArray=tempSting.split(",");
; z7 m ?8 G; ^3 i0 c+ C( E# Y- H: E5 f
RGB[0]=parseInt(tempArray[0]);
6 [' o/ f4 F& U& i RGB[1]=parseInt(tempArray[1]);0 k s) }( y0 N: Y$ r7 Y+ K
RGB[2]=parseInt(tempArray[2]);; c3 K( e. ]2 S" a6 o
4 I, q. D4 ?' V2 Z& X return RGB;" T' z+ D9 A# G; H1 j
}- S, l2 q5 w% Z8 M+ K
function keys(evt)
2 D" y% M2 V1 S! X( z6 ?0 m1 [) q% F% ` {
, O8 r9 j5 J2 ~/ v! c if(evt.ctrlKey && evt.keyCode=="81") ; g% F" a# i( C$ h2 m, T* r
{
. f! f! m6 C. d, X! y8 k CleanHideObj.on(0,1);2 d* ^' B- C1 V/ e$ n
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ G1 M5 u' u% `5 A8 Z( \3 a( b6 K
: O0 ]' v. l9 u1 Y( D- {, ^
} 6 E: W8 v4 e" }7 m# u4 F4 n
} % v# V( O- |: `$ X/ g/ b1 S
document.addEventListener('keydown', keys, false);
1 J9 u8 y& x* Q7 i- b) G8 Z7 \9 ?! qGM_registerMenuCommand ('Clean Hide',
, P. w$ m/ I2 ?: w( tfunction(e){
: i1 z5 C4 g. Z; e5 z q! tCleanHideObj.on(0,1)4 m2 D% p. @* `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& R& i2 Q1 V: G5 r7 W) m});" G; Y% G; y, h' L2 d& R; L7 Y6 ~
|
评分
-
查看全部评分
|