|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; F! C7 \' z1 a! @$ E
7 ?2 P) Z3 `% Y, `
火狐插件,用猴子
s. c3 t* J, A/ {8 w$ `$ L4 `, H* Q7 i! z6 h Z) ?
var debug=false;
4 [+ [3 p9 n1 M/ \1 [" `/ q0 Ovar CleanHideObj=new CleanHideClass();
3 a* `4 g) K: W( k) Z9 ]; I$ w
5 b" v/ R ^0 N$ r" `2 H6 cfunction CleanHideClass()
2 z9 h1 L& l% f2 b7 F( Y{ 0 f; i4 n" |; {( V6 g
. K/ b) O' e. O9 Y- u
this.on=function(id,bMZ)
1 v, H5 S' Z6 u) I7 Q" u& u {
" {( i# Z# A8 I& c
, M9 g5 F+ M8 s! u0 V |/ i7 u if(id == 0)# w+ e o4 P$ L C `/ } |1 Z7 p X! s
{
7 d- a) I% d" _ ?5 Z, k8 _. P var page=/* document.getElementById("content").contentDocument */document; @7 c* R7 V5 N
this.RemoveHide(page,"span");( h& w/ F8 x t ]9 t$ O( \
this.RemoveHide(page,"font");& P6 F0 n5 `! C7 O0 [( {* }3 F2 [8 U
this.RemoveHide(page,"div");9 B- S# U7 Q# a. f6 d
this.RemoveHide(page,"p");' B8 z2 f: X$ M/ h. ^
+ Y8 t( e0 f* @+ Q/ f" } c }
/ q4 F: f- A" c. r: h# |; w3 w3 g7 R
9 ^$ ], M0 b3 L1 w }" \+ \- s1 ?" H; Y! K: {& \
this.getobjstyle=function(node,prop)+ ^' u! w3 {7 ]7 q2 g4 _ ^
{4 P6 s8 g8 E% {* _) \' @2 W' r' z
try
" B$ Q5 l+ k3 T; v {
4 ]% _2 t. v5 \3 h, f& k" h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 ]3 }1 B; k w0 u }
, ^# o- v \3 d8 Y. J# T% S catch(e)( M# {" F# K' R% y" |) U: S
{
L# H1 [' ^' h- ]+ D) W# n8 K if(debug)
' U) {! _" w! a9 i {: f2 T* ^8 A; ]$ K/ x |$ r
alert(e.message);
9 ?( c1 o! w) t; u1 M( h }! ]3 Y, m9 H S, ^- N: h3 I
+ T4 |& q% t# y( M0 F7 E0 W4 H
return "200";
* c( g) T. u( N( }7 \" o7 E: G }
; L9 M. t. Z d" Y6 x; s }& `8 }" b, O4 `2 K! E9 C
& X# |; d: u( @0 H* q# [8 ^8 f
this.RemoveHide=function(page,objname), F- }- B$ R/ Z* v# }/ O
{9 o( L( `5 L$ G! w
try
1 Q U$ A! T+ ~, D {# s: ~2 h _* F2 t, F X! B
var minValue=15;
/ Q7 Z2 E0 p4 B8 [% K, i, D. y6 D8 I var objs=page.getElementsByTagName(objname);
3 n, U4 a/ g- i6 i
+ V3 t. @ f& H# O9 r. d if(objs.length == 0)
6 C( f5 y6 W2 X/ @ {
1 j# q- S" {+ f4 }% s+ N' @ if(debug)9 K# P! ^* z [2 w) s
{
$ S/ ]5 g1 y# Q* Z( K alert("no object found!:"+objname);
# f+ O9 d; p4 O0 l6 \: x, B }$ z% P8 t v- j9 S
}
" M) N7 @8 Z, h& X" h% Y0 V else
- ~2 z) E/ @" f- B. V {4 J! Y+ [8 s( u. ?/ T9 w, G
8 Q8 F" m8 f) \/ O+ v4 P for(var i=objs.length-1;i>=0;i--)
; ?8 R8 U$ r/ B: b& S& T {4 ?4 T. s! R7 w! d0 S, }9 X6 ~9 ~
var node=objs.item(i); 8 V3 G& c+ C# |1 z2 x1 `' v# s
0 W+ j2 \( f$ `% j9 a+ d : d4 S v( H$ O& [7 g1 }. B3 N
if(this.getobjstyle(node,"display") == "none" ||
" P% I. q6 z h, a k" ^* d5 S this.getobjstyle(node,"visibility") =="hidden" ||6 r# W3 ~+ ]2 A1 I X& s3 I, M b' Z
parseInt(this.getobjstyle(node,"font-size")) == 0) - e$ |9 F$ q: K" G8 y+ `
{
/ Y1 v" E+ H" i Z5 G' g6 z if(debug)
4 U6 J' P3 H; x0 X9 S" _ {
- z+ S+ K+ Q# p! M( Z7 v9 c& c% N alert("remove invisiable!");
" z; E4 X+ \% H! s1 X1 W; [' L! g1 [6 W }
: v* z8 h, u0 m node.parentNode.removeChild(node);
/ E/ C7 E6 h2 G& {" N. n% D, m
9 J) D/ p# Q3 L* {1 z }+ k5 ]3 x% W2 z% l4 h7 p
else
7 B5 Q; c5 H# S {# x5 Z( J6 o- P
if(node.parentNode)
3 I- F; q) F0 \, k! |( b {
8 e0 T" |. }# d1 _* ?4 e4 G& i, ]7 o var orgNode=node;
2 S u9 |0 ~$ I# ^% P var orgColor=this.getobjstyle(orgNode,"color")- S1 q' b5 s7 a+ z8 n& y+ d
var orgRGB=getRGB(orgColor);
" g* s( P% F! Z1 ?+ U6 r1 [
# p8 j2 U8 N+ t var parentNode=node.parentNode. n a @8 P. P& @% [# ]
var parentBgColor=this.getobjstyle(parentNode,"background-color");8 n, R& O% r" d) q' F4 d+ z4 o% G
0 G5 G% h! e- S5 J
var isLast=false;+ Q$ e8 ?: |5 Y* r" R
/ x$ B) ?6 j9 K& q1 ^" I" G7 k while(parentBgColor == "transparent") - o9 m2 j" U$ P2 S
{# F, ]! l" ]" K! E+ g _: J
3 P8 V( n3 U0 g* \0 y) A
' f! y' Z5 Z0 n5 v+ V if(parentNode.parentNode == null)$ i0 [4 Y& T0 }% C s9 s
{, N' i# k) C8 n! A+ ^+ v
isLast=true;1 d I- @& {7 `
break;
, m0 g4 q `6 [) I }
9 O. ^# P" F, {" d- z parentNode=parentNode.parentNode;% D$ w# d7 {) T" M* }& z8 O4 G5 D
parentBgColor=this.getobjstyle(parentNode,"background-color"); d' j3 t3 q E- N% K6 j$ i
. @, ^7 [* _; i8 a
if(parentBgColor != "transparent")
5 |2 d$ w% n, m" W3 w" j9 m( x {
" z) A0 T9 V M/ q! I break;
' l3 o0 _3 d9 G0 o \, t }
, T4 b4 |& d5 ]) T2 \6 K& V, F) i% ` }, w' j* }3 }; g- ^) u$ b2 r
if(isLast)
# I+ |* E5 r. |3 S {
$ A: b& b6 `4 _+ E4 y4 l if(debug)
, X2 I5 ?# v- b# E8 @* |7 l& z {5 y) z T+ |) e8 d6 _6 L) w
alert("last!!");
# @* O- @0 R: a- Q8 y }" u# c6 ^7 ^% i8 X. ^8 V7 J
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. H% Z; f* s( ]6 u% j- B0 u { A# g. |( ?* t9 J
orgNode.parentNode.removeChild(orgNode); 9 J4 t2 t" A `- _
}
" I; _5 C/ p$ ?1 Z7 b; { }
4 q* |3 q% y5 K( | X else; V$ Q$ S' P7 C+ t& t( T* q
{! `6 h( l( E3 A0 T) l& f4 \9 B
if(debug) i! o+ N$ N( M6 k; e; Y4 ]
{8 Y1 H- V. @! p) u% V$ n
alert("compare color and parent bgcolor!");
4 K7 h; e3 I; J: E: p/ i; D }
, c" g, s2 B9 E3 t* |7 \! W parentBgRGB=getRGB(parentBgColor);
( x" Q8 {' Q8 I# C. O+ W- Y. B if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% l, g7 x0 X& Z4 Z2 S7 y5 d1 q+ P
{0 o# I g/ E/ Q1 ^) W
orgNode.parentNode.removeChild(orgNode);
. [8 |; p3 h1 f0 i }, o0 z4 z: X) S4 |; X
}
4 e4 Q& Y, T8 N6 x. h }* p5 M! ?' b+ U7 T
}7 y# e/ R* e( Y1 y4 @
}
/ @+ h1 U4 C3 f4 o' p4 \" x5 [6 \ }& L5 N6 ~6 L$ ^" _
- @6 c3 J7 A1 U+ p
2 \, ^! G. ~* C% l9 A; G
var itemFrames = page.getElementsByTagName("frame");
+ ~; N- T* t# K+ I! r9 W1 U& F# @ var itemiFrames = page.getElementsByTagName("iframe");
& Z; W5 |$ x" T. i' `: Q S- R* _3 e }) z7 R3 [
var frame, iframe;! `- ] M% W' v8 O1 g( m
if (itemFrames.length > 0)
9 @/ x H; H: R) K {2 [( ]. u5 d9 [5 }% K, Y* C/ L6 v
for (var i = 0 ; i< itemFrames.length ; i++)
9 f' ?4 |6 h% q( }$ V1 m# { { ~& E% Q$ c% F7 i
frame = itemFrames.contentDocument;
3 t% G, q+ D( U7 n7 S8 X; w this.RemoveHide(frame,objname);
, u/ A; x3 U& G* n% E- K; S }
2 Z/ w9 T2 V6 P- L& y) y }# t" K- H. e o1 V/ T
if (itemiFrames.length > 0). z" P0 g! s w" i$ B8 I, d2 s0 [
{
! f' |- P; @ X. J& f for (var i = 0 ; i < itemiFrames.length ; i++)
& x3 P( C0 V+ G0 T {
H* e+ d1 O) t3 g0 n iframe = itemiFrames.contentDocument;
8 D. M) j& Q0 W. W this.RemoveHide(iframe,objname);
" R- [1 L5 h# ^$ J! \ }
7 Q8 [& H/ A+ K3 U0 F }
: g& a0 k% k# a% v }
: l: b9 J9 H% i$ B; V8 a) y0 y catch(e)8 V7 c4 L6 Y# t$ G: U7 L( H
{' o. c F/ B7 r5 f7 E% I+ b
if(debug)3 s5 I O5 {! y' C/ U6 {5 a; r) d& B
{
+ s- S$ D: D7 Z! u; C' v alert(e.message);
. Q/ X5 N ~! G1 @' E5 F$ x# F }
1 ?# F+ d# m g* \- w& L }& y3 m* c# f9 ]
}
8 x! W' d6 U+ w9 B/ V# ]
4 f7 w- u" I% K}
+ u* D. V3 l: d" J- I6 w
: s( F1 n, z$ `3 ^4 P4 f2 s3 L' i0 [function getRGB(colorString)
2 g: c5 k! Y' b{. C3 l6 @. x: N3 h' d" d* Q" B
var RGB = new Array;! a6 e1 s* o; g* G% `
var tempSting=colorString.substring(4,colorString.length-1);
q% \) N. s7 O4 D# j4 A8 @ var tempArray=tempSting.split(",");
1 @7 H5 S$ @; ?3 E; q3 q# F& X% _4 O) j2 E2 q8 |1 m
RGB[0]=parseInt(tempArray[0]);; d5 t, {, r( K* i( j
RGB[1]=parseInt(tempArray[1]);
- X" ]- S" k5 N# x% R RGB[2]=parseInt(tempArray[2]);4 T$ ~9 I0 ~' y; e+ N1 v0 b
% {2 f+ f1 g3 U) J return RGB;
% Y8 A3 D1 Q% L) ^$ t}3 |* g) n5 V' V
function keys(evt)
% e6 V( p: k5 R) X9 l* ~( f {
$ Z: A. v9 _* b0 i- Q# N8 a if(evt.ctrlKey && evt.keyCode=="81")
: [5 r. `7 a4 D: S E( ~' X6 v9 J { % N1 s6 v$ N6 q1 Q+ M
CleanHideObj.on(0,1);* `4 J# G1 ~/ H( o7 o% _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 T7 S/ \% U, a) b/ H F / M3 u- g8 W9 H, c( }
}
# m c4 d9 R7 ~ w } # S ~" c/ v7 u, R- Q, M
document.addEventListener('keydown', keys, false);
4 h2 f- ~" H* z# M$ N. NGM_registerMenuCommand ('Clean Hide',
' d* u- w- q) ]9 G1 xfunction(e){4 G2 ]5 k/ G0 V) W+ N/ M' @1 E. K
CleanHideObj.on(0,1)
6 W: m- q* B7 z7 ~/ A$ y% Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: |# t4 \. X8 x4 V: Q; h
});* M7 ~1 ?1 }. I3 s) U
|
评分
-
查看全部评分
|