|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 y5 O) C# P3 ?* ^; w. @, j5 q$ o- O% R( B2 V8 R4 _, [; b9 v2 n& |; I" N
火狐插件,用猴子, g F% e$ l' D v9 v: S6 q# c: i
0 m. J0 P) j" v& W8 ?' S* W
var debug=false; ) ~3 C9 ]: J7 D# B( d
var CleanHideObj=new CleanHideClass();# L$ x$ [ Y+ I2 o$ t
4 J7 w" ~' W6 j4 y) p# Kfunction CleanHideClass()
* _+ }! Q* x! G9 m- v; o+ e{
( H) s x4 [5 N0 z4 W% B( I; |6 V % |7 h( `' B( Z' S0 W* [* Q/ M
this.on=function(id,bMZ)
$ z8 ^4 A! Z: ^ {: ~: F4 Z9 _* R- j. C
/ e& }3 L( d8 W0 r3 M if(id == 0) _, P% u3 W( s
{
b$ o# e! T% e6 ?+ a7 t2 |4 q [ var page=/* document.getElementById("content").contentDocument */document;
1 @; e6 o6 b D% P- _ this.RemoveHide(page,"span");
" J. \" A2 H# \" i this.RemoveHide(page,"font");
: B7 X/ O$ e3 W- X% c3 ~3 G this.RemoveHide(page,"div");
, c+ F! _' Y" C' P) t" U, B this.RemoveHide(page,"p");
9 A5 K! F( j% m2 y3 O- [
# F, U# Y& Q2 r3 I/ f }" g- ~- g; p* b# X5 c' \+ [+ a$ D
+ U+ l) N* H/ J+ T+ O9 I8 \ }5 o9 W4 I. B+ r4 I: w
this.getobjstyle=function(node,prop)6 V9 r2 k. ?' ?6 r9 C
{
% g0 o# R& c' S4 n& U/ P* S! b try8 f3 N! w' N+ I' |1 D9 f1 O
{
& |- B9 H. h$ S$ u8 G+ F$ ^+ Y# \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, u2 V; A, ]3 G) h5 [
}1 h2 b' i m1 T* J: f2 v1 [
catch(e)3 m9 P3 s; p( R" U% G0 y
{" ?4 a5 G6 [4 c1 V6 Y
if(debug)
3 W( C% ~: r$ d' Z0 a& Q' K {% l0 a- F- X! ?) N0 i/ ], w
alert(e.message);
2 b8 \. y5 B( i: S }
5 s7 @$ B8 s( b2 }! ~& `: W
* o! o% Y. G5 S return "200";. L) r: I0 ?5 b
}
% V. U- g6 H1 N/ G: g }- ]- v {; k, Z5 F6 T& v# ^
+ M5 J7 P$ }( H# w0 l5 A4 b this.RemoveHide=function(page,objname)
! F4 X0 W, ~% J% m8 E5 s {0 |6 e Z# S5 t
try
6 A4 w [8 A8 r: E7 e8 J {1 n% `& {. i1 ?7 t+ P* }% Y
var minValue=15;
/ v4 F! [6 r) X var objs=page.getElementsByTagName(objname); * t4 I# G8 Z- M4 E2 v
7 t6 k6 v: S3 q# A% t if(objs.length == 0) 3 B/ s# v% j0 `) r6 z/ q- F) R
{
$ U; w0 ~% W) w if(debug)* M9 @$ ~0 g" p; g% r/ u. N3 ~
{
6 E" G+ L9 r# N alert("no object found!:"+objname);7 L) N }" b9 I* _) `
}( \3 p" M/ L, L, }" d2 Q
}
2 S& p; m# J! X( H+ L1 _# X else
# R( g0 A: C Q& W S( @) q {4 J: H G) h7 h! V8 P
2 O# g2 X& B9 a0 s! b. V for(var i=objs.length-1;i>=0;i--)
\) m% D& g. z& G6 g( b. i {
. t; |0 F4 V: `% X var node=objs.item(i);
5 z5 r: V9 L8 P b
) j. }; m. X9 f+ N
5 K& Y2 Q9 [! }9 q if(this.getobjstyle(node,"display") == "none" ||$ Y) I1 D% Z8 o. g2 b0 d
this.getobjstyle(node,"visibility") =="hidden" ||
; i8 R7 a5 ]5 o$ z parseInt(this.getobjstyle(node,"font-size")) == 0) % w; E! ^) R: s$ Q" D
{# t S' b5 s) ^5 j) h
if(debug)
6 i1 n& e$ f! `. j2 M; N! Q3 F {
5 T" f9 U3 B3 v" b9 E alert("remove invisiable!");0 p p2 I( g( L
} L' @2 M3 ]6 I) D
node.parentNode.removeChild(node);! G9 T1 @. U, g
) j0 h7 l1 Z3 N# E }# d/ E/ T7 P, Y/ s R- w9 R
else & P: s8 m4 o s9 _
{
& q# p- M$ l6 [: y8 k# T2 P" g5 M if(node.parentNode)
7 T+ z5 q( O7 z2 N6 J8 S: i8 ? {
* c# ^) e8 ~! \7 H6 | var orgNode=node;5 Q8 m4 p! P) l5 E" w! U
var orgColor=this.getobjstyle(orgNode,"color")" r9 h; T m8 Q. u" E
var orgRGB=getRGB(orgColor); # l" k: {' k; f3 U; P/ k
8 g M0 n A g& @# T: V
var parentNode=node.parentNode' T- \ L( {& ~! m0 D$ t" l
var parentBgColor=this.getobjstyle(parentNode,"background-color");
. {+ c8 x; R: n% ~. b2 h% V
0 Q; b+ F, G' |9 s% D5 A var isLast=false;5 j1 M8 c/ U) v, c$ y! ]
; P# H) N/ Y# K, }
while(parentBgColor == "transparent") ! e# q3 t9 H( F+ y
{
T& R) L, F# }# p+ v 3 L7 N7 J: J4 J& F% @0 X# a4 L% J
6 l; ]4 n) e! o: u- n- m6 G
if(parentNode.parentNode == null)! U9 |6 @9 ~% e1 w' w7 X
{
, J: Z$ S; M# C- P& X2 {/ Q8 G8 W isLast=true;6 ~9 T7 d- m9 y$ e6 m7 b$ I! z4 R3 {
break;/ f# s; [% K% t. L. o
}1 L/ e4 R3 X" l9 ^: t$ q
parentNode=parentNode.parentNode;
' K& p: X4 n3 ~ parentBgColor=this.getobjstyle(parentNode,"background-color");
$ x) c9 ]& I4 d- I5 j0 K' F
$ Y* u# o1 ]% D o2 g if(parentBgColor != "transparent")
6 ~/ O6 e |/ a ]! ?9 O1 G {
2 K l. v. j( q break;
# ]' Q {# b* E0 g! v }% B2 _9 C6 _( z
}6 \9 W2 r7 f" a" o& {
if(isLast)
2 J9 E K% Z9 Z5 ~6 @3 Q! F {
, W( H0 P& W+ k, u- ~- d if(debug)
2 @& h2 K- p. y {
g3 Z7 ~% M6 d0 f9 e& u& G/ h alert("last!!");
. v, X- s7 C; A. [ }
/ a8 l$ U" H% J4 Z* G8 d9 K/ i if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& }5 H+ @7 u+ n { \. ~- ]* u: @9 l9 c1 D
orgNode.parentNode.removeChild(orgNode);
0 B. r9 j7 X) O7 p+ D% L% A }
2 n' E7 \; F" ] }
5 p* T& M' Q5 M1 F. O/ I* M else3 `& g; W: ]8 b0 N1 k# X" m' i0 }
{9 T( J# X7 \) t' J8 L1 l3 S
if(debug)6 g) d; Q& ~ G. w
{% q: j1 E; m5 H5 a
alert("compare color and parent bgcolor!");5 j& n+ V2 a$ l8 S q
}1 v0 ^: o& W: G
parentBgRGB=getRGB(parentBgColor);
- b. C' H2 t ^) @! Q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, Z" a* ]8 t. T% ^% P2 a4 _ {
$ x9 K" [( r- I3 T/ V" @ orgNode.parentNode.removeChild(orgNode); 8 h- n* _* {0 t( u( j
}
" x2 z' q4 W7 I2 u) {' V+ M+ I }
" Y/ e6 N# l1 n: f- O( M9 h }
) H& |: x5 D4 l0 W7 K8 L }( l# S; \( h% e" B% ]
}& u- Q2 `; t: M
}
2 m* {# O1 J6 t7 e3 n
: ^: ~3 G2 p: Z $ U E7 }4 {/ ?7 b+ W; }2 N
var itemFrames = page.getElementsByTagName("frame");
4 C: S: w+ l4 a( q/ P" T: l var itemiFrames = page.getElementsByTagName("iframe");! x- M M" `' w6 {1 F
& K$ Y& q& \$ ~ var frame, iframe;" D4 Q! {, ]& `- C* [( P
if (itemFrames.length > 0)+ E, K4 q. ?+ ^5 E* A: y
{
; Y& e/ M& j/ p. B* r; f/ E for (var i = 0 ; i< itemFrames.length ; i++) ) \0 L/ g _6 }0 o6 S: Q( L0 g
{
8 H/ w3 X+ T$ y% d8 O frame = itemFrames.contentDocument;; R* u4 x7 n2 K5 K2 _! \' _, G& N) U
this.RemoveHide(frame,objname);
_6 E2 d( T6 Y9 S; b }
/ n, o5 y6 Y2 S, B2 O1 @ }
6 s- y& g m1 w: S% p7 c if (itemiFrames.length > 0)
% [% o9 g: q& @# X( U# N {
+ Z( ~/ N/ x, u' p ?7 u for (var i = 0 ; i < itemiFrames.length ; i++) 5 I8 P$ J" j) g+ C4 q$ V# h. ]
{
6 U( X4 g3 h$ n- h$ F iframe = itemiFrames.contentDocument;
- G9 A+ U6 n, W# _* u this.RemoveHide(iframe,objname);
$ T2 Y* E. g* U) _6 N, P3 C }
* ]3 `/ _! U; K5 [# l4 a! [( `- u }! r3 F, V/ D) [) |
}! T( {/ x$ _* Z' {
catch(e)0 R6 m2 P$ }( e
{
$ K3 S% Y, X7 w6 a+ F2 J6 \ if(debug)
9 V) ?$ l' `" ]) T, j' y {
8 L3 \' u/ n6 D4 q! G. m. `7 s alert(e.message);
8 b/ V: C( z; o }
7 D7 _( J( {) o7 X1 l _7 ? }
. N+ `8 E# I0 M/ V }6 E# a t1 ?9 F0 Q a, S. T
) E8 D! m2 Q. ~: H2 a
}
( }' b4 B9 s0 M; Z0 W
# _( K0 N9 d: c/ u. jfunction getRGB(colorString)
6 S3 N5 }( \0 K8 Z1 {' @9 S{9 J! w! s i1 I. m% H
var RGB = new Array;& h5 E- `( H) f( P9 Q
var tempSting=colorString.substring(4,colorString.length-1);. P c0 b& n O2 t9 K7 b9 ?
var tempArray=tempSting.split(",");0 X9 g4 `1 ?5 i
1 {+ W9 k1 V8 c; r
RGB[0]=parseInt(tempArray[0]);
& l }5 M* D9 q- {8 x RGB[1]=parseInt(tempArray[1]);
* ~9 t+ c' p6 e& M' x- Y3 k RGB[2]=parseInt(tempArray[2]);
/ ^# R- I, m2 _: Z" G3 l/ Q
- g& j( N% k7 `& r/ N* Y' U return RGB;
! O/ K1 C; t7 Y- p6 J4 I& z}
& k- y' _) V, P; Y3 h( S8 Tfunction keys(evt)
6 Q3 x7 V) N0 z$ s& R9 N { 0 @. D) g/ F U3 [
if(evt.ctrlKey && evt.keyCode=="81")
$ N9 y+ h% X+ H { % n T+ J1 g. y& h" I( I3 J: M( _/ y
CleanHideObj.on(0,1);
2 U: i2 I6 |4 N alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, {7 Y: @% W8 K, m% m
x( Y3 ]& G# {8 F }
, b. K" B# b/ x+ k! q. x* Z- n }
, `% I# q* i, ~2 u5 f6 Y8 wdocument.addEventListener('keydown', keys, false);
* ~* \* [$ }; e. {/ f: a hGM_registerMenuCommand ('Clean Hide',! N" c) A3 H" s/ q4 b
function(e){
, n. L5 d! G. R* n: A" vCleanHideObj.on(0,1)
( |" x6 Q; D8 ?* W/ galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" g" Y: W* p! R& g});
' z" ~. h" b f, P- q N m; i' t |
评分
-
查看全部评分
|