|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & E3 F' P5 }& e2 d
9 x6 R8 U* Q2 X ^0 D0 ~8 v& m6 z o2 d火狐插件,用猴子
- L3 m6 [/ M5 ~" T7 `. L$ C! {: r/ l, ^( @2 o
var debug=false;
) L! E1 p4 o0 ^0 o; gvar CleanHideObj=new CleanHideClass();" o' c1 ]8 K7 {8 e2 q+ S& c
% p# r* D! S; X3 H) W- O
function CleanHideClass() 8 ~8 n; R4 G" A# e
{
% H: r; i9 U3 R# `! [7 G: [ ! b6 z- \! l. a& { N2 f
this.on=function(id,bMZ)
0 J% U- K* G1 _* ^ {5 v/ S+ m( u, t1 b- U5 H
7 L. r9 D3 R( o( j5 H if(id == 0)
6 s- c) P7 w8 h {
, e. S' o# x. o. M4 F% T$ E' o8 a var page=/* document.getElementById("content").contentDocument */document; / k7 e6 G& W. c4 G( I
this.RemoveHide(page,"span");* p j$ U/ r) X3 G7 [' O
this.RemoveHide(page,"font");
! H4 S4 Z; A. w6 x this.RemoveHide(page,"div");# @4 Z: C9 [' u6 p) e/ X* {
this.RemoveHide(page,"p");
. A# y8 {8 U1 `: ] : L! p7 k" @: a# [$ ]
}2 C, L( X3 |) u) _
+ V _, c: c+ O) n/ f( P& e
}7 ^. u5 E; f1 K. W! x
this.getobjstyle=function(node,prop)
& t1 l% g/ ?8 k% y$ Y9 t: [: N A. h {' B v% c2 C' k a9 V
try
# [. g- X5 h$ P" Y. { {0 j9 G' ?1 F o' `
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);% i; _ w7 b( {- Q) l! O
}
5 q4 F; A7 Z6 N( T( X2 ? catch(e)0 K0 E, a! N/ W" C3 u. B
{
) U6 s- r1 N$ l6 L. s) D; B if(debug). q7 N$ R) K- E$ b
{ u8 @; W9 E$ ?& l: G
alert(e.message);8 o- r1 F0 }' _0 o9 Q8 o
} T6 P W! T- i. Y8 e. u2 X
/ u3 V* Q7 R {9 c: l5 s( n$ ? return "200"; {+ ?( k- {/ h4 _" }
}
* I9 a2 w9 p9 W }7 p Y# n+ v8 r s
4 \& m0 Z" g2 G: H* v4 ]
this.RemoveHide=function(page,objname): I& n; T x5 k
{& P0 ?9 W6 X8 ]& G' q0 g
try" ?0 A5 H; I _8 @. P- c g
{
+ q& R. O: w# D2 n/ N4 P5 z var minValue=15;
7 _: p# t5 W% _. l! d5 m var objs=page.getElementsByTagName(objname); ; S: A" z2 n4 ?8 {
. R+ e0 ^: d% B7 x2 n# i
if(objs.length == 0)
) o$ B5 Z! e" j4 [& t {+ r. d# L+ j# b% H8 l
if(debug)
- F6 I; x6 M0 ~& D {
# c. p6 C, v p3 S. Q% ^3 ?) Z! ? alert("no object found!:"+objname);% m7 ] G5 a5 V% W* F3 p3 }5 f
}
3 ^+ p4 h) K+ T, F9 ?4 Z, f }
1 D; b9 H1 t) c5 b' N8 |, z4 @ else7 W9 m* p# s2 q" l
{
4 y+ ] S5 w& i" R- ]0 O + M% v, J7 `- p* V1 \$ [
for(var i=objs.length-1;i>=0;i--)
0 `: o3 w; t" p2 U: e* `/ y. Q {8 N0 [ O& ~+ L5 U: u$ t
var node=objs.item(i);
* v) ~' O" o8 v/ c8 z: y6 C + G$ d& Z" T8 d. H+ j5 e* Y
2 l) V0 q& F; `- n
if(this.getobjstyle(node,"display") == "none" ||4 O' X/ n, ]# u5 H* p5 b& I4 T
this.getobjstyle(node,"visibility") =="hidden" ||
% A5 ^& o5 a, B, o7 |- B# O, v parseInt(this.getobjstyle(node,"font-size")) == 0) }2 {& r" ]8 I1 E
{
, f' h- h2 ?( v8 z7 q! K if(debug)
0 @! X& G2 L) P" k% N. k [ {
1 w7 f- B1 Z, W: X& V. _1 n alert("remove invisiable!");
) d" @% ]: {: Y9 P3 s }" N6 }& \7 w# G1 j# H4 T
node.parentNode.removeChild(node);
4 h- ?! v, n! O
( s; @- T8 Z5 K% R+ i' K }
; ~+ t H# d0 r4 B8 u6 Q. C else ' z2 r M# r: a* l0 n
{
, V- |) e- y+ U: |9 V6 \6 w if(node.parentNode)
W. ?* i- ^1 u/ Y4 F( k( l+ j/ z p {
: M! j7 O9 q) g: e var orgNode=node;+ D, ^, ^% _4 ?# P* H
var orgColor=this.getobjstyle(orgNode,"color")
+ r$ s/ i- q5 \) w# K2 m4 }& I var orgRGB=getRGB(orgColor); 9 A# j, s- C) u' I/ s# s9 d( F
# {3 c6 p" e f4 v/ P( O7 S0 j" ~. t var parentNode=node.parentNode
1 }2 ~3 n0 v0 |3 t' `2 ?; h: e var parentBgColor=this.getobjstyle(parentNode,"background-color");$ l1 n" W3 ~1 q! k
8 ?/ W' O# U. ]7 N0 G" @+ P var isLast=false;
8 ?9 `0 h- s) w$ P/ r' s- j) I
9 w; p2 |: D3 m. K o# c- a' Q& Z while(parentBgColor == "transparent")
' m* z5 D7 A5 h) c" V6 i: { {
" Q1 w. @9 i5 |4 ?/ I8 M% c7 F* J; Y 1 \. M$ n4 L3 ?( D
6 T! K7 Q1 M+ Y: k& R, }; x/ I if(parentNode.parentNode == null)
' M- M9 K. p8 z" w0 | {
/ y( l$ k' u! V P e. K0 {+ i isLast=true;
H4 ?3 O1 Q; Q6 { break;
9 f) Z# G+ ~) F9 v7 b( r, s8 n }
+ E9 H, D9 P" @9 M: J5 z1 p( c5 d' g parentNode=parentNode.parentNode;( T% C/ q/ }1 e6 K6 f
parentBgColor=this.getobjstyle(parentNode,"background-color");# ~1 i- [( P) z; F l/ N: @7 m
& e8 {0 ]/ y% B; i- u) f" p* G5 h: P if(parentBgColor != "transparent") 4 d" ~- ~! d* j0 E
{
0 ? M# a" S/ F o) A break;
# m( _/ H( T7 ?6 [ }. Y9 K; S0 `, l8 }% ~0 Y1 D
}% T; V( |3 I* A7 ~% y& ?) l
if(isLast)
_6 F0 {8 w$ r2 |4 } {
5 o9 u2 J; O. `# d5 p! p# [8 h9 p if(debug)& X/ w' R) w2 @; D, c" c
{
: ~! W% I6 S' p+ [. _# W% M+ @ alert("last!!");
2 x; D: p8 j4 G }4 v& X) Y% P, i N
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 B P! X3 R: O, ?, ^3 [; i z* u {
$ u5 }/ _8 ? i4 [ orgNode.parentNode.removeChild(orgNode);
; A5 `! }4 L& q& m! d& h5 | }
/ D7 c7 j; f4 f \2 V }
7 E, [( \& y) } ~+ ~ else7 W" a) Q! E" U5 K! R! g/ P2 A
{* Z5 T& ]- m& W6 p4 W1 d9 F
if(debug)# A+ n3 b3 ?. V R
{
! \# R" M9 @: J; d0 K6 a alert("compare color and parent bgcolor!");
8 k; a: x) V1 _ }2 U+ {6 j. m: G3 T! i! ~9 }
parentBgRGB=getRGB(parentBgColor);
9 t. o9 T0 T7 I" } if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 Q( h/ l$ e$ s, Y* v5 h% y {
0 J! Q8 a0 _9 v* k* x4 B; w; T# p orgNode.parentNode.removeChild(orgNode); ! z* d1 B4 D4 G6 {
}
4 j* O2 R6 T% \: E& P4 W }
- C$ K. O) K. `+ t1 K* ]% Y/ j }: M' H' V9 x! Z
}
8 w# J- ]: C# Q5 m }
) v) I5 u2 [- n. S7 P. x }! I; G: m {% O$ e' z
: e" l9 Q" ~" {' D. {9 d% E! z. C
' n, n; K5 z) k, Y+ ^. F/ g
var itemFrames = page.getElementsByTagName("frame");
0 s- B" v9 R. C; ^ var itemiFrames = page.getElementsByTagName("iframe");; M" e w5 X& g( c8 Z* {
: t1 e' f2 @2 q, j' ~; N0 W
var frame, iframe;# l9 k t6 i+ \6 A1 p9 C
if (itemFrames.length > 0)0 ]9 u6 [5 Z; U& s
{6 S2 v: C6 F( H3 P. h
for (var i = 0 ; i< itemFrames.length ; i++)
2 L' T; R+ E4 s7 v4 u+ i0 U/ T1 F0 `6 x {
, A% u1 n. w& s frame = itemFrames.contentDocument;
1 G. h% k/ _2 I1 u* d" E6 p this.RemoveHide(frame,objname); ) l! ?- M3 W* p' o+ y
}
% |1 `' _" q7 v& K }
5 y3 p. U6 B" ?7 ?, Y if (itemiFrames.length > 0)
* Z5 n9 N' y; G) [2 E4 b* V {7 Y1 I" T$ }+ u7 M
for (var i = 0 ; i < itemiFrames.length ; i++) # Y6 Q( a! w) E
{
) M. _0 l& z+ k+ R iframe = itemiFrames.contentDocument;
* A( ~6 n9 y5 e. }' o$ r8 r this.RemoveHide(iframe,objname);
% g- L; [$ ]4 Q+ ?, |' \ }
7 F/ ~/ L6 p; b! X }
9 @" k, N3 v; r$ K4 L& k }
* T, T M; C7 b2 ]/ R catch(e)7 ~; |, S2 I K0 k( d; f
{
( w4 x6 @+ C( ]$ g- F# Q if(debug)
. v `/ W( Y) c6 n5 m7 j1 s {. y& Q7 E3 O E
alert(e.message);% F- C P! u" c5 b9 B1 h
}
$ z' F! ^9 j5 d# E+ T6 z9 ]8 ? }8 {- ?* [+ X* `& K3 Z
}, x# ~, K% V# k9 ? b7 X$ K, I5 D& |
1 Q* Z- g/ u" H% n. P
}4 V& P6 y5 `4 \) Z( p
2 U9 d' h Q0 A
function getRGB(colorString)) d6 | N" Z5 b* b
{
1 c6 V+ X+ t, o& J& S var RGB = new Array;
3 S, }& v9 a; `( P5 h) }0 f var tempSting=colorString.substring(4,colorString.length-1);7 `0 V6 V+ E/ |5 S# a% p3 F
var tempArray=tempSting.split(",");
. W1 P/ q% ~$ l& M/ c/ j! q
$ t7 |! ~- H& S9 w3 ^ RGB[0]=parseInt(tempArray[0]);
* B8 @0 i' p; A! u- I5 f- {- ` RGB[1]=parseInt(tempArray[1]);5 R- F0 h" `7 B1 H1 w! c
RGB[2]=parseInt(tempArray[2]);
8 h7 a; w2 R4 j# x+ C, q
8 P; t$ H* b2 P return RGB;
7 n% ^+ l* k; S4 d% Q( J} U" e' _/ Q0 e) T, S4 b( R
function keys(evt)
: M) b0 L: C# Y$ M3 O* S. _ { 2 T0 P$ t$ @' C: G$ c; U% D
if(evt.ctrlKey && evt.keyCode=="81")
& B) p) X) E, b3 Y8 \ {
! c* [. B! L+ p9 `% v" G; p CleanHideObj.on(0,1);
" z8 p# T2 i$ a' x+ s alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: o# {; J, i* t5 F3 t
$ M; r4 _! y; x& e* z# r } # B( a8 `" ^1 a
} 7 `/ n& m" p/ G$ n
document.addEventListener('keydown', keys, false);
2 G9 F# J6 p# t5 D( p2 NGM_registerMenuCommand ('Clean Hide',
! a% L# B9 c! `' d5 o5 mfunction(e){
. f+ W$ D! q. hCleanHideObj.on(0,1)
) ~; _2 ]: J5 g5 palert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 Z# t _. U: C7 `6 F});
# o/ R f! H0 h( g7 k/ Y [! j- a |
评分
-
查看全部评分
|