|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ }+ l$ p; \2 d7 c |# n! t" @) {2 d" b5 n# s
火狐插件,用猴子
$ P4 M, i5 N( e, e# s. X
W+ B5 v, W2 d( G' dvar debug=false;
+ \* H. M, U1 qvar CleanHideObj=new CleanHideClass();! b+ {" }0 j* J2 @' p* R" G& L
9 S L* Q' e7 z' [7 l! afunction CleanHideClass()
7 M% ^: u/ C' r2 L. t$ i/ G) h0 {9 X{
9 ~& x) \9 `& |, k % R; C' t: P! E% f$ K
this.on=function(id,bMZ)
7 w, j! l2 j2 |2 J; J4 z {
9 o! A; u# U* T , c- g6 i; K" J n9 U
if(id == 0)
7 j8 {2 h# L& V* ` {' q A# v6 G V: c' t) B
var page=/* document.getElementById("content").contentDocument */document;
9 p5 {* p3 M3 v1 R1 z this.RemoveHide(page,"span");: U8 x6 \2 b1 [
this.RemoveHide(page,"font");
# r, e" r, s0 k, o7 Q$ J! C this.RemoveHide(page,"div");7 C9 |2 L2 ^( y) C; C
this.RemoveHide(page,"p");
5 U( x" l A, u2 F
1 c5 U# I/ y% O9 [ [ }2 w1 M2 L C4 w
+ k: J* I9 q+ N: u
}. G) Y$ e+ A2 D) z# d
this.getobjstyle=function(node,prop)
6 s) K8 W3 P. q$ t# a$ Y# {+ }4 k {! H* n! Z0 |6 E) Y% M |& K; _
try
" i# c* V2 p* S4 u4 ? Z# b2 V! Z {
) K, F" p( v2 ?8 i5 ?: q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 i9 w }+ G0 u4 J, N; q+ P2 Z }2 X2 G3 w2 K" }; K# u/ [
catch(e)& r$ F/ C7 L Q
{+ H$ L: r3 P s f
if(debug)
3 u& S% F' N) C7 U {7 Y3 Z6 {+ C7 a d0 h+ L6 o* D3 W# n* s* V
alert(e.message);+ j- H P2 T1 v" @5 D3 T
}& J3 ]; R* k; v. d
) E# Y ]8 c1 R0 q0 k return "200";: z+ }) f0 F7 Q; P
}
: n+ B! P3 {4 X' g: K, F }$ s: [8 R9 M* L n# X7 W J
4 Q: w' z# A1 w( r
this.RemoveHide=function(page,objname)3 y4 {5 L7 ^: n& K
{. G& B+ |" F( b$ A6 w! K2 J
try
' X% R, E2 s9 y6 @7 Y. x {
; E6 W( n3 t! d3 Q2 g) I var minValue=15;
) i" K& h" |, \) n& a7 i var objs=page.getElementsByTagName(objname); ^; v d' q( ], Y$ |$ B4 L. Y
5 Q) x Q/ N6 A. A. \% e5 f# m/ O9 A
if(objs.length == 0)
3 j! b& w7 X0 ^6 { {+ p6 G3 b2 D8 y4 t! N& \
if(debug)( o5 b/ F1 c* ?
{
3 B& o. v. P; b' U5 } alert("no object found!:"+objname);& B, r/ t8 J7 O8 \% P, `; v, c
}
8 D5 E, r& X ]1 c5 l2 N$ l }' P' g6 s& O: W$ L2 r$ j/ J
else" V2 f) i# L2 l* Q! E
{
( h3 m2 d% y( Z0 F ) H7 j" l% j/ [
for(var i=objs.length-1;i>=0;i--)
6 U# M0 z5 H c {/ F. F! ` B" }! H
var node=objs.item(i);
( A$ J& ~7 b" Z6 t; e# x
6 v% Z6 s, P: \9 A6 i0 }& C" o: _+ I3 a ; T6 m+ Q& T. m- }! s* ]0 L
if(this.getobjstyle(node,"display") == "none" ||
6 ~* M7 h% y' ]/ z# [ this.getobjstyle(node,"visibility") =="hidden" ||
' P; ^7 z" `' P, g0 p parseInt(this.getobjstyle(node,"font-size")) == 0) + c6 P s. w7 S
{
5 i1 z" j' D# \. x/ i. A6 p if(debug)1 q, f. `1 g! ^! L% @
{
- E8 \: `' |: t" ~% s alert("remove invisiable!");
- l1 Q: T% b6 ~& m' F) ] }
9 \+ x$ C8 G t5 I: G1 P3 i" u. ? node.parentNode.removeChild(node);
- N3 w& n' P( @3 z% b1 m' q
4 ~, a b! G' A* C }
9 e1 A/ i: G1 x else
5 X" x: c( W; l: l {
( c" ~" @: X4 r& u if(node.parentNode)
3 U+ F9 }5 M1 ^, t {
6 y. p& {# H C9 e6 g var orgNode=node;
. N7 [4 x2 K9 K+ [! B: F var orgColor=this.getobjstyle(orgNode,"color")
8 d+ E$ g W# ?/ a( J var orgRGB=getRGB(orgColor);
1 v6 B {. N" C6 t ' K9 M3 p0 m/ _* ~( e
var parentNode=node.parentNode
, y/ f0 w* o3 P `6 ?9 t; h; u" j var parentBgColor=this.getobjstyle(parentNode,"background-color");
! U( {. I g/ b2 A0 w
! m Q7 \. E/ v; Z var isLast=false;
3 T$ C. _( r& P( ^1 n, ]9 v & ~$ T2 a) b1 X' X
while(parentBgColor == "transparent")
1 S# V! z! d3 \1 h' g/ s; B& i {
8 n' m1 w/ V! |2 e1 w 2 `1 @" `+ K$ K1 F9 e8 a
6 M( [1 Z+ q( P' ]3 p/ l3 l if(parentNode.parentNode == null)
/ @1 I1 d3 ~% d% F4 p/ N" H& O- v0 P {
9 e4 K/ p7 J" C4 _ isLast=true;
) g" H8 u6 m7 K8 t break;
* j: X# X3 I8 E( `7 n }
2 x I3 o0 Z: m+ a+ W1 O parentNode=parentNode.parentNode;
; z% s0 Z+ L9 g$ E7 c/ f parentBgColor=this.getobjstyle(parentNode,"background-color");
* W: @! D z9 [5 r' E
s! E4 P( U# r if(parentBgColor != "transparent")
8 g" k7 r7 Q' l% q" ]) L {
$ B) U2 ~5 C7 y8 V4 { break;7 y0 R* X' r1 ^$ h0 d: u1 y
}% n) b t: m' P- m
}) M6 H; ?% y% S4 t) N' d. `
if(isLast)
: J# q& [: {( w" u {
& S! C- ]9 j, Y% B# y if(debug): z$ {: z" \: \
{
4 ?9 W8 o! F- R; @$ h7 T* w alert("last!!");8 P5 y3 O! T% \9 q0 m# G
}
5 T3 w6 h8 q! j; v. P" i7 e9 a2 F1 G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" y! |- B: a0 x8 [8 ?
{
M( q- G% I3 V% z orgNode.parentNode.removeChild(orgNode); " j' P. v- r. b) u
}8 q) ~ H0 C+ a, ]7 q5 N
}
* v+ r& d$ O* Z else
$ y7 d& S( K0 d# |6 p/ [" F {# @. r; r6 ], x1 j4 C3 K; K8 y/ J$ B, t' [
if(debug)
^3 h, w/ j. o6 T( C {
: s4 z: @' P% r9 ?1 Z alert("compare color and parent bgcolor!");
! l/ n8 d) D% O }
/ } z3 }/ P1 E6 q6 j parentBgRGB=getRGB(parentBgColor);! _% i4 k. y% ~3 R! b; d. n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* H' z8 f K+ Y& R4 c" [ {8 n# C K9 v5 c$ y$ E% s: |- U! v
orgNode.parentNode.removeChild(orgNode); & c0 N4 J) c0 e( f
}9 |" \2 ~" o2 t* x( M
} n2 ~/ A6 i3 n+ x* N$ E6 Z, R k( [
}
9 {7 L6 d$ A' N7 b }; W0 j4 E8 G- O1 H& E
}
7 V( k, {' K8 u }# `8 H) F" y% I) I7 ?9 [2 |, H
/ E7 l7 x% a+ h8 g 5 [* p/ M) E& h3 c6 B
var itemFrames = page.getElementsByTagName("frame");% z+ [# R2 K4 h1 ]
var itemiFrames = page.getElementsByTagName("iframe");
# O; {3 y8 B8 Y: q
, V$ I4 w- S4 H0 w6 M var frame, iframe;
3 Y8 x. @2 z+ b( y4 \. n6 _ if (itemFrames.length > 0)
$ J! `+ l8 Z5 B! v. Z5 n {
! q# {) j8 f0 S4 _3 I2 b( R for (var i = 0 ; i< itemFrames.length ; i++) ) ~0 Z# G8 Y. R
{# Y$ _3 E' r0 M4 K) [ a8 ]
frame = itemFrames.contentDocument; M) `& A' H8 n8 }
this.RemoveHide(frame,objname); d* B$ [$ O. i, v
}9 _, u) A4 I: z% S1 y
}
# c7 Y; F f# t$ u$ | if (itemiFrames.length > 0): e' O" ]9 f, y' k0 T6 M" _0 S
{9 ^$ N% _# B/ U5 }. l
for (var i = 0 ; i < itemiFrames.length ; i++)
) u( c7 Y J* @6 ?$ @ {; {8 k% `9 ^( H: G1 z) V
iframe = itemiFrames.contentDocument;
6 Y3 X R/ s7 o! L. q/ }0 J2 p this.RemoveHide(iframe,objname);
6 c8 h7 O* O5 i: T8 s( F8 Y }
- w/ t- w" j: q; M$ _: |0 X }1 \; B; Y! l% r
}% B6 F1 s! `- J) z1 Q( T
catch(e)" ~1 ~7 m. R! ^5 b
{
/ Z6 i! d3 X& q* @( R" q if(debug)
4 N. g% I! L( d+ K9 @% C {
/ j& W0 g/ a3 r8 }- t' j% [% @' } alert(e.message);: U3 b, R; [5 o/ S- }' x q9 e
}
! s, s. Z2 b8 Q: V1 [7 ~& W }
% o& Z- j" ~: m- v }3 }/ _0 z6 K7 P. @2 B
8 p; R, s% \' f6 ?}
3 h! u' T% ^( t( e( W6 t+ B/ i/ B; x& p1 j8 Z! j' |
function getRGB(colorString)! f' a! r B3 ], x4 z7 \
{
0 l6 A I+ U( O' z4 x* @& s3 i2 @ var RGB = new Array;
. F( j! I4 F1 B/ p8 c var tempSting=colorString.substring(4,colorString.length-1);! C1 G. q2 ?% x- B4 x
var tempArray=tempSting.split(",");2 e9 Z9 n; V1 }
7 {) e/ d) V' Y8 q1 \ RGB[0]=parseInt(tempArray[0]);! u: Y( H! w3 l/ W" w# [
RGB[1]=parseInt(tempArray[1]);8 x& g8 L1 f$ w9 `% r
RGB[2]=parseInt(tempArray[2]);
( U2 \9 G' n' T2 H9 Y! d2 O& U
: m/ E7 V, I6 t1 U5 I+ i3 e return RGB;
" s9 U8 f; ?7 U4 h! y}
" w: a! h& X- K: Z2 }- R( efunction keys(evt)
6 Z6 F( A5 p9 T' o6 I- x8 F# ` n { 2 F, D; U, S7 m- }! p1 y9 b
if(evt.ctrlKey && evt.keyCode=="81") ' ^3 ?1 p* |7 x' L7 N
{ 4 F& H) x0 A: }4 J
CleanHideObj.on(0,1);4 J/ v& I4 F* L* ], b2 t# X0 I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 q3 x: Y* c, o( K5 O
( `3 m8 ^( u! f$ T$ l8 j
}
8 o j' m( U/ g" L- M }
4 K8 l8 S7 K; x( `$ tdocument.addEventListener('keydown', keys, false);
6 N9 U$ W6 q/ JGM_registerMenuCommand ('Clean Hide',) d" p) R4 `1 F; ~4 X
function(e){
! K8 P1 z$ O9 l- }2 \CleanHideObj.on(0,1)
6 J& s6 ?2 s; g: X0 D) Lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 q; l: S% `' }! L' g
});
" \ l) n# Z7 h5 L' [ |
评分
-
查看全部评分
|