|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 Q0 H8 U# |8 n7 ^( c1 [
: ?+ T( c: s2 _4 `5 x5 g H火狐插件,用猴子
0 v0 ~7 P1 J' p4 `% t2 {* K$ u& j6 ]. H' T. `" c8 {
var debug=false;
6 \* K) L m: U+ L2 g# [$ @var CleanHideObj=new CleanHideClass();
/ p# o0 b9 j p7 r, v0 s# A9 f; o* M1 x
function CleanHideClass() % Y3 J. B1 V* r5 o2 C* Q
{
9 {. e( }4 ]/ Z, G( G ' O% n$ ]$ C; h, S9 f! O7 e% h. l
this.on=function(id,bMZ)
$ H+ L9 E: d8 M4 L1 W {" a. T K& q2 t
& } u0 N0 r- e if(id == 0)" R7 n+ x% m' k% D) o# s4 X1 G
{
& F1 L! ]! w. N" p/ b& v) h var page=/* document.getElementById("content").contentDocument */document;
, P( }/ B+ c8 ]# w0 i6 \+ V this.RemoveHide(page,"span");5 h; F+ C6 z! f) F1 w3 p
this.RemoveHide(page,"font");
T8 W* C1 X' G+ X2 @" ` this.RemoveHide(page,"div");
& ^( h2 V e5 W; }' B9 D this.RemoveHide(page,"p");% `- p% T; V- {: h4 O
, Q( g9 R D5 Y0 L c6 s" g" P' t7 I }
- T U5 P$ A/ a* k. Q- a
& r: c3 a& U% ?. Z! F }& l( L0 ^4 V4 i6 g
this.getobjstyle=function(node,prop)7 F7 _ M+ q, R5 b! u/ c
{5 U/ k" l9 a) Y- [" q* A5 N
try6 x v5 s8 @& }4 g# Q4 K
{+ {0 }" o5 |9 c; H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 V3 E1 s$ M+ o }% d( Q( n0 f' v' L$ G% B
catch(e)
/ c. V) L3 o6 e1 t3 h {: g6 i" L3 w- x9 _/ }7 n7 ]0 U
if(debug)/ `( \3 G( Q8 G% }$ L0 B9 `
{
# C* b1 Q+ C% f& r2 y9 V) U alert(e.message);
" L. p/ H7 k0 b3 r7 ~ }( b1 X; y* |7 U6 \& g
0 M$ k7 ?' {5 U# Y
return "200";( d' D$ ]; X% i% }. C
}) o# s; ]( \# r {; }" u( j! \, N
}
X0 r# } q; a1 A$ b4 i W4 C4 x
" l5 w* @6 S N% Y0 w, H this.RemoveHide=function(page,objname): V e# W6 ]! v6 W6 N- }' @ t& ^. ]
{; U: P. ^( G, @$ I+ g7 I# Z
try
% [! }9 n8 {5 {/ d% E# | {1 K+ }# C3 N9 f2 P
var minValue=15;
! [4 l3 n- a6 Q6 [ var objs=page.getElementsByTagName(objname); ! r8 Z$ |) O' n$ Z7 G
% J6 G& I" W, L
if(objs.length == 0) 3 p9 ~( _1 ]0 W2 B" y& W
{
4 ^7 I* J" L N; M' D if(debug)
7 p- \) y z' C. W2 A {- u0 @9 ^, k8 l8 c
alert("no object found!:"+objname);
8 c) N+ h F$ w7 O2 r+ z }
# w: [4 f+ O2 h }
- L- ?1 j3 F( v! O) U else5 M) t2 f8 U4 j$ _# b A
{! `6 ^! W& L, B1 V
* x, [; j1 s9 L! u8 B- J for(var i=objs.length-1;i>=0;i--) / s; u* { ^8 s5 j2 a9 `
{5 ^7 e' a* U+ P w7 y# V
var node=objs.item(i); ; v* Q: a2 J i4 _: e# r/ z
/ R' Z1 g6 E! [2 t4 ]: d
1 f; r4 e8 {& A if(this.getobjstyle(node,"display") == "none" ||
1 U) E8 S' t! x3 \ this.getobjstyle(node,"visibility") =="hidden" ||& J$ y1 C$ n" J# I
parseInt(this.getobjstyle(node,"font-size")) == 0) # P' D; R/ f3 m# l% u
{
8 c. I3 I5 ?2 Y! s if(debug)
# T$ P3 N i" U9 C' o( p {
) z% v1 v' x$ {* v1 ] alert("remove invisiable!");
5 T& i s. V. Y, l2 N }2 ^+ u. T; P1 Q
node.parentNode.removeChild(node);
F. {* p# m. u ( F: t5 Y" Q9 ]2 t
}
+ I. y1 p' P0 o% f+ X7 L6 q( ? else ) s) A. S6 d! D4 x0 ~
{, g f( P/ g( s: H R
if(node.parentNode)
( W& C0 f+ t- @) t& E {
( ]& I) d9 Y) W: k7 _3 t var orgNode=node;
8 R y1 x0 Y9 W1 q: R* ^ var orgColor=this.getobjstyle(orgNode,"color")
0 }. Z$ [$ ^7 ~3 w var orgRGB=getRGB(orgColor);
$ r& \( b7 Z& C5 T0 x* G % b) q" b @# c7 t3 B/ h& o
var parentNode=node.parentNode5 s- j. q3 _, F
var parentBgColor=this.getobjstyle(parentNode,"background-color"); x9 N: q4 {9 a9 I' ^- A
) X( q8 ~! Z/ \- }+ @; U var isLast=false;
% |5 a3 J) X+ C' O+ R
! G+ P( M4 i4 e6 } while(parentBgColor == "transparent") " B, @5 n; M2 e7 ]: A; y3 {
{
( {3 O# S5 z* A6 H
8 o, s% C m0 ? c/ V v# F 8 ~( K# W6 [6 D4 U0 x3 m" c
if(parentNode.parentNode == null)
4 n% |' D: |1 J" m {+ f' Z; y4 W' I7 z# S, L* c
isLast=true;
/ `% N; M7 P. [6 c( m- C5 }. N- g break; S6 g# Z5 K) U) P. R" a
}7 ]5 R: V/ t$ f( L S9 ?
parentNode=parentNode.parentNode;
* `; f! j+ H/ n' A parentBgColor=this.getobjstyle(parentNode,"background-color");) y' b# @$ o- p
) c: R0 {1 U0 x6 l' C8 R: a2 } if(parentBgColor != "transparent") 2 M/ G( P _8 w* o' X/ q
{1 d8 b( d8 b; c) B9 y p& g4 Q
break;
* D! O4 }3 b! y$ A }9 H" l7 @. l5 e# K& O1 I4 d- a
}) d) ?, k4 U1 V1 V2 }/ {
if(isLast) , Z4 ^$ \7 D& W9 g- k
{$ N; p* q4 s. o- b& i) O1 _
if(debug)
' U: ^/ z+ u. c+ [ {
* a9 j' X0 Y& ~' u2 H! [ alert("last!!");8 E: I3 R! _6 r1 V9 z- Q
}
0 V/ M4 e* e. ?3 o9 | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ r% ]9 B) j0 C/ T7 U2 v9 b {5 n5 l" N x, f! I+ r5 p* |
orgNode.parentNode.removeChild(orgNode);
( R1 H# Q z/ V9 c2 ~" e/ \# ^ }
5 `( [+ W6 y2 C% S }0 L2 G; R1 O- Y
else
" t5 a6 e$ N' {3 k. N8 y# V; l {
4 F& ]! d! K8 T& }, |, B9 G if(debug), T( D; Y8 }) q' j' f% z) i; q9 L
{
) k$ V1 |4 z" s% o3 b O5 a alert("compare color and parent bgcolor!");' j% E! U- }3 V& G% g" O% |' P
}( m7 o6 |: b3 @7 D" z S5 u
parentBgRGB=getRGB(parentBgColor);) {7 p+ z" H- I& B% F3 f+ h; v
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% W# Q9 r: D; b
{4 {8 l# A" s9 |9 j2 O! s% ^+ A: Q
orgNode.parentNode.removeChild(orgNode);
" l0 u B8 O) d$ N7 N7 ] }5 G' \% C2 s' ^# M) s& [) h9 Z$ o
}
3 l6 N8 N6 D2 [( B1 R }2 J& S; V) o% F# N9 l
}
( n7 q; q( f% o& O G* e8 F }
' i* T* G. B: O7 y }
6 S& ^7 C6 U2 W S- ]* \ i/ ~" G: d6 z" u; `4 `
5 B1 i' x, N/ c" c! y
var itemFrames = page.getElementsByTagName("frame");
* y& {" d' N: \: l n9 u0 Y% G var itemiFrames = page.getElementsByTagName("iframe");
; i6 a" s8 @) k
2 B5 q# i" w8 L, t- E0 ~ var frame, iframe;
/ p: N* M/ D& s3 L: d. q" c if (itemFrames.length > 0)$ r4 q; ^+ e' q: m7 H, s( f/ C& c
{# c* p9 c' X# E( U- f4 T
for (var i = 0 ; i< itemFrames.length ; i++) & f1 [9 Q( p( P1 B7 U( G
{
. P. {3 g& w3 j; M3 F- r" w& l frame = itemFrames.contentDocument;
* \4 G* `& _) w: k; l this.RemoveHide(frame,objname);
: i2 R8 Z' h4 |; ^ }9 V2 K( J* N7 N3 k4 N
}& {8 h, [( H3 r" }
if (itemiFrames.length > 0)
, {5 R H( p& i; M8 l {! J" P, T% d7 \ \0 O
for (var i = 0 ; i < itemiFrames.length ; i++)
: F: c$ C( u% ]0 y6 U {: w- ^' `* F9 ^) D1 H7 A9 q. y
iframe = itemiFrames.contentDocument;
. v! v2 _, E1 e; [9 ] this.RemoveHide(iframe,objname);
; M7 J7 F9 @. N: ~( { }
3 V7 j+ ]+ s) L7 D+ F( i }
- z+ x9 @; f6 ^4 I" G8 |6 E }7 v$ J. I' V# |* p
catch(e)% [4 C/ N% J, ^% b6 Q
{
+ v. W$ h. O" V2 G' d# ^* G1 Q if(debug)
1 m9 s$ [ {% k( {) s {5 v- |/ ?/ c4 e2 B- \
alert(e.message);
. D( R+ K0 Y; J- i }5 T3 z8 ^3 W. H
}
) p5 Z0 M7 L- I7 P! e }" m$ ~* \ u" R3 y. H' Z: y
+ ]" z1 R" `. C% y1 d}
* o/ k6 q f" f& d2 _7 V7 [3 e+ @3 K1 L2 K8 A0 ?0 Q
function getRGB(colorString)$ B2 B; `! F% t: n7 M
{
/ \9 A8 R- I( t/ I var RGB = new Array;
4 o. F# b. e: h& u0 Y6 L3 V/ _ var tempSting=colorString.substring(4,colorString.length-1);
( |( q0 e8 L5 o( Y& p& u var tempArray=tempSting.split(",");4 ]7 i2 t# ?2 X" }) q
0 j. r3 e5 m0 N) d$ Q+ g RGB[0]=parseInt(tempArray[0]);
1 W3 T: Z; i3 [7 Z+ H' v# R7 |- r RGB[1]=parseInt(tempArray[1]);7 B) f, c# Y/ K9 X
RGB[2]=parseInt(tempArray[2]);
& y2 S+ w: b7 B6 n9 [/ I5 b
7 N& A) n/ A, n return RGB;/ l. D: x6 O" ^; U
}4 O* ]: B5 @+ H
function keys(evt) & C7 Y- M2 _9 \6 @5 `: T2 u' `
{ ; L/ g( p7 v' f
if(evt.ctrlKey && evt.keyCode=="81")
& D6 F/ Q$ x5 R+ p% P9 Z { * f2 d# |, r+ r# _2 Q6 k+ v) B, [
CleanHideObj.on(0,1);
/ z* s6 W6 w' w, U alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 Z3 y' X b$ V9 q) ^& [' q
7 G4 l S6 \/ c T5 o }
* R/ `8 M2 h( G/ h$ f+ t; ~; | }
8 h6 e6 M0 l6 I1 @' S# T/ i( ydocument.addEventListener('keydown', keys, false);
$ t$ [) b0 D N* ]/ v5 dGM_registerMenuCommand ('Clean Hide', W: S% Y& e% h" [2 q" a. ~; G% q
function(e){
2 ?" a3 {/ E' r3 ~# oCleanHideObj.on(0,1)
" o) T S7 t0 U3 xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. |7 ] a1 j: F$ U});
7 m7 j2 ` v9 `% C( Q% G |
评分
-
查看全部评分
|