|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * V+ j7 d$ R; s; x
9 V7 S$ ]- N0 m: U5 E- n# \" {( H火狐插件,用猴子
4 w3 o4 }- j7 ?' S' o: b' j/ L! G
var debug=false; ' w& H0 I! v+ Y! w: W: I
var CleanHideObj=new CleanHideClass();
7 ?. D; X. D" f+ r1 p; w. k# V' j7 z r6 D
function CleanHideClass()
! X) W$ p) x5 N6 `/ v3 L O+ X{
! y7 o" J9 b& Q$ q9 w3 i & G% e3 l9 S% A0 o+ b7 ?! W* _
this.on=function(id,bMZ)1 k1 W* P. f* E$ S6 W
{. h2 F5 w) e' s: K( z2 r
% J/ p# q4 z G# c _, d9 F if(id == 0)
: \" `& o6 C' d {' x7 R7 u% D5 b; H
var page=/* document.getElementById("content").contentDocument */document;
7 e1 _8 ]5 K. N: h& R& _ this.RemoveHide(page,"span");
5 N: q0 D; p. } this.RemoveHide(page,"font");# s) t6 B# r2 s- j5 \6 o6 Z
this.RemoveHide(page,"div");! {/ ^0 {4 f2 F
this.RemoveHide(page,"p");4 Y H9 F7 E% O$ Z# B' s/ W6 T
7 p* E* a# P5 g/ d, M }
& m6 j) q6 @1 g! q/ U
, a; l1 G/ S* \7 a1 ? }
. y9 Q; q# r& c& O9 \9 X this.getobjstyle=function(node,prop)
3 J0 T7 h4 x$ D8 _' C2 }- Y9 C! j$ j {
8 C$ L8 M0 ]) `. Q' y try
3 A5 p7 m# W% c+ p. E0 q {: A G* z" r7 S6 S' v$ H1 T% P
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- [5 t x+ D, H; F/ b# A4 p }
( M- U; o3 A/ G- @! i catch(e)# y# q6 ]: A3 r) u( m: z- [
{# r( i6 Z% \) S: V) x2 S
if(debug)
: b! C1 j5 `0 p, v2 V; i$ ^8 | {
! j8 J ]' N4 X alert(e.message);
" u" C0 D0 E. L6 w4 G% x/ B }
$ Y, k/ ^$ h7 z, m) X( F
H( O% F9 E$ J" u return "200";
" F- L7 q$ M, ] U5 w }
* x$ I) ^" o$ b5 o }% K7 w7 [1 t: r. d- |3 u& \' `4 o1 {
( x! v$ F8 M# ?# G. m0 l* g this.RemoveHide=function(page,objname)& W0 S0 U M7 ]9 n4 {0 R) k+ T! ?
{
: y) V. k! R z7 ~ c try
g. f( s7 g- ^1 @7 i% E# ]. g {
2 e. @) G4 g* t8 C! y1 c var minValue=15;
& n$ \' }% P8 g( T- A# a var objs=page.getElementsByTagName(objname); 3 }2 b8 u A0 P! k* S& u3 S
- n: C& v9 [/ `2 \9 R$ h
if(objs.length == 0)
& Z* K; M: [! E; X {( h* y/ B( @% i: J! h
if(debug)5 g$ X0 p' J P3 m4 J2 T7 R( L h
{% Z& X; I# ]' ]7 d
alert("no object found!:"+objname);9 F: {! M6 Z; J
}
5 d/ W8 O' i# W2 G' d- T5 p }
m' S1 T2 l- C' `3 O% C' | else/ o9 {) s$ M. I: |/ C9 d
{
5 t- r8 U. W F $ a. B5 V. w4 G& k0 J5 ]7 x U* F
for(var i=objs.length-1;i>=0;i--)
2 x" u4 R" s6 |- ^8 z( H1 }& s3 X {
2 U5 U" U! \2 g# Q, \5 q var node=objs.item(i); $ M( {% C. ?3 s3 V1 r, f
: Z7 h2 Z1 n( B ' ^' z a, f" R+ C- n
if(this.getobjstyle(node,"display") == "none" ||% ^ f+ b9 K7 U4 W3 T" F
this.getobjstyle(node,"visibility") =="hidden" ||
% O/ Q& \. |+ U/ n7 ^+ A" J( r parseInt(this.getobjstyle(node,"font-size")) == 0)
2 o- t/ A" N0 s$ N6 x+ _( Z {
$ n J; c# f0 x+ C H# o4 c8 T if(debug)- b. j0 q. {% {' r2 l* @# }# O, @1 z) w
{
- h* s- F! c! E2 b3 w' g alert("remove invisiable!");2 `- k- h. J* ?' y2 C/ S# ^6 T
}- n; c( `! d7 l2 _1 l% k' i" }* ^
node.parentNode.removeChild(node);4 L/ w# F& t' O! w r4 W/ @( h
6 c* C6 o; v" i5 D5 `" O5 |
}
" U8 t1 b: S$ {! o, X9 Z8 @ else 1 \, O4 p7 O# Q* `& o
{: d1 b, a4 M6 Y0 C+ r* ]8 V
if(node.parentNode)
% d9 n% d6 m- h/ ?! U+ W {
' T" Z1 i _& E! a' A; g var orgNode=node;, O5 G' {/ X: B2 {. \0 b
var orgColor=this.getobjstyle(orgNode,"color")
# {' x/ H% i+ I! C var orgRGB=getRGB(orgColor);
# V. q7 e4 E, j2 D0 \! P& r4 d 9 Q# @/ A+ e7 z9 H0 x) Z
var parentNode=node.parentNode
8 u, J" I3 I4 J) V, L, Z3 ~/ x. v var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ p: g% L8 e- O" N- }2 i
* T4 W+ a$ `( \- i) ` var isLast=false;
4 T7 p2 `) k( r& _% K! O9 U; h6 D
# X& _/ Y% Z3 K while(parentBgColor == "transparent")
* H1 k: [6 r6 P* D" L4 |" r$ w {! y# E5 Q% |% O l
- o D* Y1 O' B" v7 p
/ N, o3 {1 R/ X if(parentNode.parentNode == null)
. [8 v- V& b9 t {
; ~ b; I3 C! e: }7 { P- p isLast=true;' s& ?1 C8 w" b
break;9 K4 d8 I$ y/ q& M2 W% b. |) }
}$ ?. w6 h7 N5 {# ^2 M8 f
parentNode=parentNode.parentNode;
* N9 X, p: `6 v( N- _ parentBgColor=this.getobjstyle(parentNode,"background-color");, m% y6 M; P8 j, a, p2 d3 b: e
! N# g2 B4 R8 a @ if(parentBgColor != "transparent")
" X. `1 B. {3 @* S- W6 b0 W. ]! A {
) H7 @; T$ g$ L+ Q break;
2 o% C# S, g, W; h4 i; u) l3 V$ E }; I, x$ W( f5 s3 Q1 V
}: j! n/ M6 W5 W1 r! W7 J( u: h- t
if(isLast)
5 Y- T9 N8 z) C% p+ F, { d5 h( @ {% W3 s0 w% q: I! J# `
if(debug); h, x1 P4 O* G' K+ d
{" M" E/ l+ N6 ~% `) x
alert("last!!");& \" H6 ` l- L# x- D }8 ]7 T9 ]; J
}
) H5 \8 T$ q. f% O' {2 e if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( b& S8 W' [% [) j' `4 z; ^, }
{* {* d. O" I X( t& V9 r
orgNode.parentNode.removeChild(orgNode); 0 [* s2 V9 n% }, O. A9 S/ x) x
}
" @) h& G# k! q1 t }
" k( z# U i1 v f else
5 L. y' n2 K/ o y& B {
4 A1 ~1 B. M' i$ @" E/ x if(debug)
a4 _' S8 v/ a9 G7 Y! x$ @% x; F6 X {3 M$ q6 a1 H$ G' D* Y
alert("compare color and parent bgcolor!");, A( c( }. @2 ^. N; ?$ ~2 a
}! ]# x' z% Q5 M% L& @% ^
parentBgRGB=getRGB(parentBgColor);
. A+ @8 v# G) d2 a# r if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. o+ l7 S X" q m% x* W+ }: p {
7 K$ C" D# A" b orgNode.parentNode.removeChild(orgNode);
]) ~4 a" S. j) C }) s) D. I8 |5 O) h0 s% X
}
6 c& G4 a; G- L( t. |) K4 L/ f }" X0 v8 o r/ z( O$ V3 a S3 c- I
}8 ^/ [0 f6 e6 X$ \, t- X, a
}- _( Z W) M; c( z. k
}% F8 K# U, {2 w' U
3 |1 |, z5 ~/ p5 ~ 6 J% h$ X. P+ q: F* Q/ {3 ?7 r
var itemFrames = page.getElementsByTagName("frame");; z" Z" w5 {$ {, z& F
var itemiFrames = page.getElementsByTagName("iframe");/ I9 p, [6 |; g: h6 \. j+ b
8 |5 @3 W( s7 B var frame, iframe;
: u3 X# d p; j if (itemFrames.length > 0)/ ~: I, A2 p3 M# X0 G
{
$ ?- C. x, |/ }2 f% Y for (var i = 0 ; i< itemFrames.length ; i++)
5 D: d! Q: ?8 f; G; T8 X& A {4 `6 [! i I1 A3 E: T3 c
frame = itemFrames.contentDocument;: `8 i0 \! ~4 @0 D* d7 L8 b
this.RemoveHide(frame,objname); ( q6 @' ~) C6 o" D, ^
}4 O3 g$ O c# \
}6 J" K) y( E6 x. s- q4 I
if (itemiFrames.length > 0), h* V; p2 C* g+ e
{
, J* F. ^' x; T5 K) [ for (var i = 0 ; i < itemiFrames.length ; i++)
3 g* {' v3 v8 C9 D- v- [% H2 b& O* D. I {4 s. T- Y6 `& H3 q1 w9 Z; }6 V
iframe = itemiFrames.contentDocument;
% F4 x7 F& m" @! ]& i5 E( b: D2 [ this.RemoveHide(iframe,objname); % T1 F( N, C- s# T. c5 @
}
0 ^" F& `! d5 ]4 n, }( B) [ }1 t" n N. H: t6 \9 s! m. N! @3 z
}8 b0 ~+ |9 L, Q9 Y
catch(e)8 k+ R5 X7 e+ c6 y
{# t3 h$ ^9 B8 e
if(debug)3 u0 N: q' U/ K1 T" M2 H8 x" Y
{% `& H: ^ U) e& }
alert(e.message);) F1 G8 S0 m4 Q6 g3 ~6 j
}
8 {+ [8 w- F w% Q4 w3 L }
8 g. S3 H* i$ D; K/ P. } }
$ U; H" p# `: r" } 6 i* V/ d# P+ J" \8 d8 \2 _: H
}; J" S' @: G/ u6 j
! E/ B* A& v8 e" Y' n
function getRGB(colorString)
' h v6 p E, z' g) S# l{9 c& P4 z4 {% M* A
var RGB = new Array;, o8 L) C( {; }/ l8 ~0 e
var tempSting=colorString.substring(4,colorString.length-1);
3 L) [( C) D3 D% M* @ var tempArray=tempSting.split(",");
' Q. n$ g$ C' Y+ e% z; @( ]9 E; J' ?+ L4 F+ R
RGB[0]=parseInt(tempArray[0]);1 d; E8 D8 |2 E: I: u2 ?: _* h, t+ ]
RGB[1]=parseInt(tempArray[1]);% v; ]- F8 U4 \0 i: R3 D7 b J
RGB[2]=parseInt(tempArray[2]);2 f- @( _" _( e' U8 S6 }
# C( Q {5 B( z$ v7 v
return RGB;7 T4 \% m" p) E, h, [
}
6 V% \6 y' J T3 G6 Wfunction keys(evt)
! K: H% a& b# I% z/ h, | {
f0 Z8 l) X6 z! u; \ if(evt.ctrlKey && evt.keyCode=="81")
8 l. B M* I7 Z3 n { % d) w4 n( N# U
CleanHideObj.on(0,1);- q" D5 ^- @ [2 e, w$ ^+ V p! C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) t' M/ C6 Q! S3 s$ b" T ' o1 M% J" Y. Q# ~
} 7 P& S% Y M/ L, ]3 y* L; n6 A7 Y
} 8 l) f4 Y1 J0 w+ M! G. j# t# ?
document.addEventListener('keydown', keys, false);
9 j. b: n& o0 q7 a# ]; AGM_registerMenuCommand ('Clean Hide',
, {) Z+ r; e2 |! T3 ^( T5 }function(e){
3 s# p' V) A% K H: U5 N H* ICleanHideObj.on(0,1)
; ^2 ]8 ?3 y/ m2 }) j- Nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 Q4 [! T! I% t8 `1 {
});
8 R8 X3 W6 D8 j7 y- T1 ^! F |
评分
-
查看全部评分
|