|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 I. h' `, u, g+ l0 r1 A& ~+ V! h( Y' n& }4 j f- K
火狐插件,用猴子: g4 z6 h: X* G
/ H% }# h( i) k3 G# g% A
var debug=false;
. D2 `( @( ~% E8 q& y( [var CleanHideObj=new CleanHideClass();
- m* }0 k: `: Y: L; p; k7 l9 }# ?) L; q9 T* {4 q- R# ^
function CleanHideClass()
" h" R5 O2 {' `1 n6 o& f- e8 E{ 7 Y3 P$ L' [6 H* c1 i8 N2 V
5 h7 \( b% a8 L; ~0 D# N2 ]0 q7 {. @
this.on=function(id,bMZ)+ N& X0 B' C) Z% x: q5 I- n, s
{/ |1 a5 z7 g) I/ m5 L& B
9 s) X# I3 p: r+ y if(id == 0)
/ P/ g7 _' K& C: x' W# O {
- `5 E) a6 m) Y+ C! l: ?* z5 S var page=/* document.getElementById("content").contentDocument */document; ) C# M0 P4 O0 U( B0 [ b4 Z) W( F
this.RemoveHide(page,"span");$ Y/ I6 A( W+ o
this.RemoveHide(page,"font");" S3 I5 d/ W; e; [
this.RemoveHide(page,"div");1 e% T T" s! W$ v3 I- v8 E' p
this.RemoveHide(page,"p");
; t# f/ N- p2 V; |4 W7 R
* \% t5 Y, F ^0 R }
" L' \9 G8 k# m" ? . J$ m5 ~; F2 p$ k: ]' ]
}) H4 A4 }( I. Z" @! V
this.getobjstyle=function(node,prop): W2 ~1 a8 o& r6 M) X/ j& q& f; R
{
1 @ Y6 y) B! W t j try# K0 H: L6 O* S6 M S
{7 b4 O( B: W' W( N* `: ?! A5 Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' o) Q; ?/ _2 u! }; r% g, `: O
}
1 X# I* I, c, p catch(e)+ R, y$ s( {/ \
{
/ ^- d$ F- V3 j4 K2 }, A8 H8 a+ w if(debug)
" R, i; E' Y9 L( H3 ` z. J7 H1 n. G {- Y) w0 j8 S7 v$ d4 x
alert(e.message);; D* h% t* w" s' j4 U
}' u+ r; |" O1 X6 f6 a4 d+ F( C
: R0 n9 q5 g0 k8 ~# V2 r return "200";- X7 l/ ]3 t) O6 m2 r4 F! Z% s
}/ N- t+ Y) u4 z7 n' T1 w8 F3 C" S
} A4 u- C8 L* n
# c, d. z" w! {+ r
this.RemoveHide=function(page,objname)
% V' B3 {' d0 S {
5 T; Z0 a: u8 N# s- t! t% l9 b try
9 r# w$ g0 h0 E' D, N+ X& F {% g) R- S/ z1 r0 A6 f! Z
var minValue=15;
& t o9 b8 K2 H$ A, }" c. `6 T var objs=page.getElementsByTagName(objname); 9 f1 P# c2 n7 O: B* P' E
. G% H0 r& y, l/ W9 P
if(objs.length == 0) @9 g0 _. [; d) m( o+ z
{
* m1 t. c. W9 ]% x/ W if(debug)
+ @3 G; |% z, U+ K: P% \2 ^ t% P9 y {
- y- J! H" O% l: j+ m3 n alert("no object found!:"+objname);7 i5 ~( X& u( o7 o( I: _' N9 \
}
+ X+ Y) f8 E1 j* `# p; ?' C }* H4 C! Z) Y& A( b4 U# O- g
else
' T9 p7 r9 E9 s0 U {
4 k A) l$ _3 Q& \- F3 ?( o+ y 3 `; i8 D3 I4 l; A, ~2 j [
for(var i=objs.length-1;i>=0;i--)
\+ h- M9 E" T+ A. R" J0 ]& e {
8 o$ r8 M( f/ g8 r var node=objs.item(i); 4 |0 ?$ Z d8 j3 L( D. v1 X7 e \
( | R8 n7 }1 O9 v5 k- t: t
# [0 y0 w5 d) K- j6 ` if(this.getobjstyle(node,"display") == "none" ||
0 X3 N4 W7 P" S* M" R this.getobjstyle(node,"visibility") =="hidden" ||9 a: {# V' P8 g9 C2 Y8 e
parseInt(this.getobjstyle(node,"font-size")) == 0) 9 C: W& C8 X9 F
{
; y6 l( F, T x; l! D if(debug)
. g/ H# G9 B" D, M6 T3 t. U {
) {, j' J; k* x/ o* b: o2 i alert("remove invisiable!");
6 u9 p; ^# s3 v, `' i }
- @, N' w$ G7 O, [ node.parentNode.removeChild(node);
7 T/ P/ Y J+ J3 B
8 N: ~( h( _% L: v2 r }
8 j' |8 J: U- b( X1 V4 P m else $ i9 H# P; I7 ^ k
{9 e S5 {2 S! L, w2 E: Q
if(node.parentNode)
2 T! i8 ]2 R+ q. `# T% u {2 {" u, J' s4 l( d
var orgNode=node;6 s- y& W" q2 X9 m" J: r
var orgColor=this.getobjstyle(orgNode,"color")
T! y8 k% ]; h" S4 g/ S2 J$ `8 O+ ] var orgRGB=getRGB(orgColor);
) p) W: _, t: {; D
7 _: \3 j. H) { T p% M var parentNode=node.parentNode- x9 ^+ V3 l8 h+ w6 A; O
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& Z6 u. V Z( F; Q$ w
5 p& A7 S" l. J! b6 |; ?$ [ var isLast=false;5 M/ {7 [- b6 R& a: t" k& O3 f
% b3 o# d- X: m) s) J$ e
while(parentBgColor == "transparent")
8 |* a& C" X4 B# v8 ~! x, _ {
( g1 l% ?$ Y. k* N # l& e5 F# F! r3 a% C
6 J+ G1 K( o7 M& F/ d, r4 @+ Z
if(parentNode.parentNode == null)
8 k8 T0 k w- Y |0 c {
# p1 M ?- m1 Z& o1 y; F isLast=true;
4 ~- x% _, h \4 p% m break;
/ F* ]' M' r7 f! ]" T }( z! s# `. }% j5 m5 m) N
parentNode=parentNode.parentNode;
" _; ^- J" d4 N, L parentBgColor=this.getobjstyle(parentNode,"background-color");
& V c. e8 E5 q1 Q* q6 |. D( r7 P" g8 [% J, {
if(parentBgColor != "transparent") * F- b9 L# y( C* n
{
7 H3 `5 M1 J0 [, W9 l break;
' v, W- }, Q6 q( ^$ f5 } }9 T a/ W5 h6 x. L
}
: ]4 j0 \& z2 t( K. J if(isLast) & A2 K# J- b+ B1 U7 W( t* w
{( S+ e' N6 a, Q, W+ J
if(debug); f- f) Z1 J3 c( [
{
. T" P' F& q8 q& w- Q2 { alert("last!!");
8 G* A5 ^4 S2 o n4 O' K' b5 d }
( } V4 b$ d% C7 L" t: Z6 F3 _+ Z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* V$ {) g5 Z, R: `4 b; p6 j {
7 D3 |! y) z4 V2 y M4 f2 _+ l+ E; u' n# d orgNode.parentNode.removeChild(orgNode); 4 n2 d' p! I) |$ v- B
}
4 S# d# r( L* M, n, u3 _+ l }
/ E, j+ q T( H5 T) x8 T else
# k7 F$ H$ S& h+ D* s {$ {1 h! M. g$ M: b
if(debug)5 y2 Z- x. y+ @ l6 l, e
{9 N- c) @1 |, a' w7 Q0 c" Z3 D
alert("compare color and parent bgcolor!");
( w& m5 i/ [8 R }3 s7 ~0 n8 P2 \9 r- G! p4 M1 e
parentBgRGB=getRGB(parentBgColor);( w1 P0 K" t! Q; w* d/ _
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; Q! X& A2 G V {
' _. V& R, g4 j2 b a orgNode.parentNode.removeChild(orgNode);
7 A! ~! I D% F6 z& X. D; R }
6 e; ?$ {1 I ] }
7 `% ?$ }& V1 o1 O" _8 @ }" r. B& K/ E k: j0 {: B% a
}+ u9 D$ I+ j8 K% F3 \; [' U
}
/ y) v8 D" V8 y# L( v( v% B; i }) m4 G8 D' Q5 n6 }' u1 e: ^
, p0 f! p; E* l/ I
& v q1 I& W- _% w" m var itemFrames = page.getElementsByTagName("frame");1 l. W$ @1 D; V$ {* n p5 {
var itemiFrames = page.getElementsByTagName("iframe");, ^: Q% ^4 H7 y; q1 y5 Q# Z
3 Z; z# `: x. t, Y. y var frame, iframe;
+ L8 A9 f( p, W& h( G( ~ if (itemFrames.length > 0)
# S! N ]6 v; V {4 F: V( r+ R6 |5 p K9 h6 w4 d
for (var i = 0 ; i< itemFrames.length ; i++)
( I; e9 z4 g8 D9 ?; x% ] {1 F7 W- j# P& ?# ?. |% f
frame = itemFrames.contentDocument;
4 m6 r* z3 s0 V+ v this.RemoveHide(frame,objname);
! V4 x& N3 Q2 J }
4 Z' [: O5 E$ L: r }: M% H. Z- V# l' `" h2 L
if (itemiFrames.length > 0)8 r5 c0 N* B* s) V: d% T: R
{
' W; k+ r0 a+ _7 n* `; l9 G for (var i = 0 ; i < itemiFrames.length ; i++) 9 h& ~1 ^- |7 J9 u9 B
{" J8 A5 G) C2 Z8 _9 u1 M
iframe = itemiFrames.contentDocument;
% J7 a# {! C% k+ J7 d* B this.RemoveHide(iframe,objname); : v; v3 Y! Y" {! O' R
}8 \- v5 g: ~, b! p, O- e( q4 \( n
}
, h5 V0 L! u7 a6 D* Z }! Y( x* q/ z( u% a! ~
catch(e)
+ \4 q7 U8 r, F4 P. L8 U- Z7 C3 g {; \5 H2 v0 I* [4 N7 ]* X- C
if(debug)
% x- d* i9 u/ S {
+ ]. p8 V" m3 r alert(e.message);
. k+ A; k- N- N5 N2 S }# |% ~" x4 _7 @2 x g9 N6 X5 f
}
" ^0 g1 X) K0 G: c; a+ K }
4 E9 z1 P N! w2 \5 b $ Q/ r3 F. `2 s1 r# A
}
# h# q* n+ H) R9 j: |4 k B1 `+ X; o; N
function getRGB(colorString)5 W2 M- j3 I4 v3 Z8 ]8 T7 a+ d; }
{. T" {- k( u ^7 P: _! Y5 u
var RGB = new Array;
6 r: s5 h0 ^3 t3 ?% I& h var tempSting=colorString.substring(4,colorString.length-1);
& C3 `4 ^3 H% S7 A var tempArray=tempSting.split(",");& C( ~+ u: I" J& Z8 I
* |+ H% N$ U0 a9 ?2 k3 t" |. M6 k
RGB[0]=parseInt(tempArray[0]);- c# y" z( h. W( ~7 S
RGB[1]=parseInt(tempArray[1]);2 f& F5 ^% `- U9 i1 P+ R8 H
RGB[2]=parseInt(tempArray[2]);
' ^* Y7 ? l& L& h " [5 \. `! t+ s+ F3 b6 \4 U/ K
return RGB;5 V7 y/ ]) Q [% C! S' A# t. W' ?
}
# P- l' F& [$ |2 L* M* Mfunction keys(evt)
' w% p$ R3 ~& o) K4 A" r, s {
7 a3 P) ^2 o3 y. J if(evt.ctrlKey && evt.keyCode=="81") 0 m' j1 [3 ^5 g& G9 m* A6 @
{
1 q, O( m+ _1 r* H CleanHideObj.on(0,1);% f4 {6 `$ g5 [
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. g$ ]; F. s- Q
2 X% x z- ?7 V. { }
; {6 p. P, @2 B+ v4 {. x } 3 @ y- `, u2 \) m
document.addEventListener('keydown', keys, false);
6 Y( d- M( ?% f9 |1 j* uGM_registerMenuCommand ('Clean Hide',
4 B. L. r" @, E( W* P/ ?% K5 x3 W2 Jfunction(e){
/ a; E7 z( @- U: Y0 kCleanHideObj.on(0,1)/ V, m% C1 l! E, l6 D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 X' F/ w1 F6 g) \6 ]! k});
8 M- ]% m A- C! u2 G8 h |
评分
-
查看全部评分
|