|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) g% [ t. D+ A* m; P) ?1 \9 B/ I5 ?; _% z
火狐插件,用猴子& ~- @! G( O) ]- D
^4 U, U6 J- B) Wvar debug=false; * Q4 K% E6 z5 c" g* ~
var CleanHideObj=new CleanHideClass();
( C' y/ _, ^. ^
1 {% k7 ]2 b; J$ ?! F A1 N/ O- ifunction CleanHideClass() + @& T8 X6 G: x& Y9 A2 m H. Q
{
8 K7 n6 e/ F+ m! }
8 c5 V" C2 @0 N2 I. e2 Y( f" T, S this.on=function(id,bMZ)% e# u' T) |- \0 y4 i' R# {7 ?
{& ?; K, \) d# D6 @7 @4 m
: N0 }) A) H' @
if(id == 0)3 O9 F7 M T; T1 O2 J4 W; x
{
J# f& @& u, g* T2 T" x var page=/* document.getElementById("content").contentDocument */document; % D! q, X3 G! d! `
this.RemoveHide(page,"span");
7 J- K+ H! Y% d+ J3 s this.RemoveHide(page,"font");7 o" |% O& d: i* Y+ G$ T
this.RemoveHide(page,"div");
4 h- L( M3 T* s: o: Z. Z$ C this.RemoveHide(page,"p");
) {# \; \4 i9 m% E0 M" W
0 r1 B ?" s& w2 Y2 q H }& Q! ^0 ?) D0 V; t- a% G
$ T) x9 J& G6 E) c* K
}; t* f4 Z6 A8 M
this.getobjstyle=function(node,prop)
, }/ T' \( Y8 R( a' L3 S, ?5 ^ {! o$ d" j" b2 F/ W( @: C6 o% w7 o
try
: y1 K8 b5 b4 o {
2 m' W+ F+ k/ v. ~1 e- b return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);( R! y X. q. \% ?# X3 ]4 ]
}; U& o3 x$ c- i) p! T; W. ]+ a
catch(e)1 K& B& T$ V/ N) A0 r+ H' n
{2 k7 g! ^6 F2 ~- c
if(debug)
/ e" b3 u/ ?; u/ E3 Y {( t2 q, r5 d: r( {# i& e
alert(e.message);' p$ i% |, @! F# V* Z9 ~4 l
}
7 Q: K! i# s5 M7 \' F
- I0 ?* x$ }- r; v) f) h1 P return "200";
. E) T) y/ u& g {+ \( j }- `) R8 a6 y* G4 \. z4 ^
}
[: D; r/ G& {( M
; D' x3 U6 C4 X6 b! Q0 z& \6 ]3 v this.RemoveHide=function(page,objname)
; N5 i8 D+ X& q {
# d/ ^% ?$ W) k8 f9 c- H0 V try
. ~ w8 F! B- e/ l$ L {# K! x8 |; ^+ X
var minValue=15;
4 a( Z# o& k% g, r7 t. |3 Y var objs=page.getElementsByTagName(objname); ! h$ M4 I& B0 k; u
, R1 w; F5 l+ ^. m6 j- m1 ^ if(objs.length == 0)
+ V( `* O; h4 B# z. v5 P {
# n0 Y$ v* C9 f if(debug)
! Q- u, ~0 g1 t( j( ]% d2 M9 U {
) e! m# x: ?- |* }9 h1 q7 ^' J7 B alert("no object found!:"+objname);/ S( } V5 X e7 S" _: c
}
2 Z3 I" b) a5 [+ U r9 Y }7 d# l/ E9 m+ e* m
else% f/ Q) m& k! y' q3 q* K: f
{; [( S! Y- c2 s B( a9 u
- V6 X9 C8 T# k! B! n. o8 P for(var i=objs.length-1;i>=0;i--)
8 |- q/ d0 X& z+ i. v: g+ I {* z4 b+ _' @2 _& z
var node=objs.item(i);
+ {) W2 e/ X0 Q. @2 e2 e- o 1 C+ G8 v3 |1 ~
$ u5 b7 b4 E6 d) U" s' ~* I( J1 [" Z if(this.getobjstyle(node,"display") == "none" ||9 m9 m. Q# T: v0 Z7 r+ c$ [) \$ v
this.getobjstyle(node,"visibility") =="hidden" ||
6 F# I! u- L2 D n parseInt(this.getobjstyle(node,"font-size")) == 0)
5 U; n2 ]: N: z5 A4 }* ` {
8 W0 I( I6 Q+ Z* D, Q! e if(debug)
/ M# \ h9 |8 I s- u8 `7 l {
+ P1 g& E/ J; @ alert("remove invisiable!");
* H0 |* z- ]1 \9 \ }4 j, a3 E0 ~: p% P2 q# O5 S- l
node.parentNode.removeChild(node);
4 I3 A6 n) r3 }) m8 x4 g8 X 2 d9 `' h; `- v( b1 A( t
}
2 V/ a+ z8 X! A3 Z# x! q else - [$ a! n- F" G
{6 v* S+ L+ K( t! h/ N3 v i1 R& q2 f
if(node.parentNode) % l3 [1 f4 O( P& Y, N
{7 v" M8 f5 n% Q+ [4 a
var orgNode=node;
, l+ N: W3 \' B" w; D' |: Y) @ var orgColor=this.getobjstyle(orgNode,"color")
7 Q& t5 s/ I8 Z4 m- q var orgRGB=getRGB(orgColor);
* @; v1 ^) V& k8 o# a
3 L6 Q9 O8 D: S1 l var parentNode=node.parentNode
% {" Y% q! V5 J# c* n7 y* A var parentBgColor=this.getobjstyle(parentNode,"background-color");, Y) x; |2 q2 @ r
: O' [+ N! W) E8 |2 `: P2 S
var isLast=false;
5 @, e$ G1 i' `/ W) w. Q$ M8 _! O( H6 G 6 v$ M; x( D& c$ ]' o/ S3 ]
while(parentBgColor == "transparent") 7 s4 I8 L8 r0 a0 D8 A6 J
{
! `3 J% U+ K3 Z! A8 l4 N5 c. {9 C# s
6 j2 b+ R4 l! S9 f9 Y0 ]- [ ' r3 e, M* K) ~: y) E! I9 z
if(parentNode.parentNode == null)6 N5 s6 ]! ~: i- j- f5 g2 L
{
0 s& u5 v" j: L0 y isLast=true;2 C, n; |% q" m
break;) D+ L* M0 M& n ]# L
}- e, X( D7 |+ |# I& o; M" H
parentNode=parentNode.parentNode;+ m6 D3 u( \" M7 Z! [
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 ]4 H5 ^) w9 L& e
3 ~ i2 U G b' F7 R7 n+ k if(parentBgColor != "transparent") " P0 @8 C, `1 j" p
{! s: T; p" y0 |* I* [6 U- k
break;" w9 Y1 z; } D5 F2 S
}" K5 U+ ?+ S7 P6 [0 ~: F: ? G
}
$ r) S; ]$ S' ^' o' p' J. T9 a if(isLast) 2 w. \( ]! n# j- x
{
# D) t- ^% u* ^, P% l4 b if(debug)
$ w4 Y. B) M) o, X+ h+ i% s {
/ k+ U6 P! ^) X# ~" h* S b& T0 p! c alert("last!!");. D# y: r u$ y5 c6 i; k- j& z* H
}/ Y: t7 s; ]8 |% w6 ~( c8 c; o5 ~/ ^( N
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 k$ K/ b. A9 x) O* U& {8 H1 X {
' l0 F6 R3 C/ f" T s3 p orgNode.parentNode.removeChild(orgNode); : \2 h5 c$ T' w# v+ d. @9 [
}
- D9 J$ k- J% R) R }* d. o! q" |2 ?8 z) b5 B
else$ f% ^: a7 t4 I# j5 J. i
{
- z2 g5 ^ b, H if(debug)1 } R. N$ L1 ^( c1 t2 f
{% I0 J; K+ C# Z i7 _% N. a D
alert("compare color and parent bgcolor!");
" X% ]6 S6 O3 C* t% R- g. A- O }( |; r4 c& x8 `5 k
parentBgRGB=getRGB(parentBgColor);( g5 r# b! G; P1 n: W* R
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 P/ S# C) T7 f4 J8 [9 ~0 p
{
7 ?, f1 N y* k" M [% { orgNode.parentNode.removeChild(orgNode); 9 F6 B8 d" T: I( K! r4 o
}
7 `& |5 i c& l' R: U# P' C }
' X3 a& \$ v1 b' ]% O- ^ } n! H8 F' D, b- Z$ G3 s
}0 U2 B8 F& M8 {" k0 K+ d
}1 U% j9 U4 _% A! {
}
# x( j3 }& r9 {
# Y5 _) z/ d% I) \
- G6 n8 Q9 A* r$ h* k var itemFrames = page.getElementsByTagName("frame");
9 u+ n$ j) a; o var itemiFrames = page.getElementsByTagName("iframe");
/ \9 E! }2 Q% [* G2 z
' z5 u5 a5 O. h3 B" j var frame, iframe;
0 t) G+ q$ d W- ~+ C if (itemFrames.length > 0)
3 s8 k2 x$ b! `) f7 y {0 e- ^& k% z& N1 }% V. a
for (var i = 0 ; i< itemFrames.length ; i++) , q9 N, |2 p: k. o" \" l3 u
{
k' V) q( d7 X' J* K+ P: o$ a frame = itemFrames.contentDocument;! j( r- S4 m+ `1 Z9 p- h
this.RemoveHide(frame,objname);
' P8 r3 p/ @. L9 z# k }
0 g* |4 O" v0 u9 O6 w* O; Y }% `2 [; Y3 @. g# a1 O. s# h
if (itemiFrames.length > 0), F1 M: B% |3 f) Z
{
! a% g' ~/ U E/ I3 F- q, L2 b Y for (var i = 0 ; i < itemiFrames.length ; i++) 6 X; _' ~+ j: x7 w; A# @$ B5 E
{
$ z# v% r, O9 }3 P iframe = itemiFrames.contentDocument;; m5 C- D2 ^, z$ g+ Y7 e
this.RemoveHide(iframe,objname); / `( `. t! w" i' y
}* n; L; c# n1 x- Q; C3 }7 S
}
( S9 C9 b7 n& ?6 T' U! L }1 |3 B& ^1 x/ X9 e% F, \& `) P
catch(e)
A7 G- u; Q( k- Z- D- E2 j) r {+ w9 X9 e. J R4 c/ \0 X
if(debug): ~9 K& J. @: H3 n
{: h" @: ?/ s* X8 D: V4 L7 p
alert(e.message);
0 h: z5 x, V1 t, [: i5 Y9 q }
, f+ K8 z. h! z1 O }; J2 u$ ^9 H' S4 [8 l' r
}+ ~1 R8 l, i# u+ X) ~& o, P
5 j& a; ~# t* j) j
}% o/ D4 a' g5 c0 t
' j: G$ c6 R: w; a0 w, N! Q
function getRGB(colorString)
& X" b0 ?% u# h N' [2 L: Q{$ V$ }# `; M# X! I, ~/ S
var RGB = new Array;$ b# G2 C, {5 Y) ^4 V
var tempSting=colorString.substring(4,colorString.length-1);- ?- }2 U; D8 E
var tempArray=tempSting.split(",");- y5 U% x, R2 { N+ Y
) f- j0 [: o, ]8 ^" O0 h7 B8 b+ A
RGB[0]=parseInt(tempArray[0]);
/ g& d( K+ j" g; ]' F RGB[1]=parseInt(tempArray[1]);
7 F: P' X" h% N$ U y5 U9 K* d4 t RGB[2]=parseInt(tempArray[2]);
% _ p( t0 A& H E' ]4 m- v
4 }% g9 q* S3 S1 y* f. v return RGB;
- W4 F( \; B. }- l5 q}: T; d! z; L" @ ^$ L9 x# \
function keys(evt)
, k% i4 x( r- C9 l9 @1 J { % B" }/ Q. X$ y! n, a
if(evt.ctrlKey && evt.keyCode=="81") 3 w3 |) E; l0 ]; ?5 p% o/ o0 M
{ 7 j9 h6 h2 M2 o) l3 J p
CleanHideObj.on(0,1);: A! e8 N9 B5 e/ f5 S- j1 ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 B8 l) Q+ J/ z/ K6 [
' R$ C' Y4 ?7 h; M# ^% B+ X, T } d% u( b! b% D
} + C! I& U) j1 Y$ h5 z9 J
document.addEventListener('keydown', keys, false);
_3 {+ l$ L# M# u+ @/ LGM_registerMenuCommand ('Clean Hide',% D& k9 {- Z/ L' a ]* N; t* o
function(e){
% z( n9 x7 Y1 pCleanHideObj.on(0,1)
2 L5 E3 m- x7 H5 p+ P. Z* m9 ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 o6 O+ o1 ?& ?. `/ d' ^
});6 Q1 m; `: O, V1 z- @
|
评分
-
查看全部评分
|