|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 m1 H5 U7 U! ?0 s2 F. \1 t8 }
" b q! i" g0 @9 z# w火狐插件,用猴子
7 L* w2 Q( [8 Q g. K: m r( G, H
var debug=false; * @4 @1 ~, c9 W0 N2 T6 ]
var CleanHideObj=new CleanHideClass();- R8 k! Z) R T6 p4 }2 i8 s# @3 h
`1 r5 l! a; S3 R
function CleanHideClass() . H7 Q; V1 U" b5 [# ]: t
{ 3 u8 G! r2 ]/ N7 X6 r! k K
/ y0 F( A4 \ C& K% i, [! R$ h
this.on=function(id,bMZ), C. E ~/ X1 v6 _2 [5 G; v
{( {& A# J& o0 [* o9 Y
8 g; p" M2 v5 q4 I( R if(id == 0)4 m+ N! ~( t+ Z3 S" O" ]
{
, _0 s6 D+ A1 k8 M# I( S var page=/* document.getElementById("content").contentDocument */document;
6 {: T9 F* {/ y# b* z! k8 m7 e this.RemoveHide(page,"span");
/ H* x+ ~( E& e5 v, G l this.RemoveHide(page,"font");0 b) ]2 L* V) n+ M2 a
this.RemoveHide(page,"div");
/ H% r1 ]. T( {: a" M5 A this.RemoveHide(page,"p");
5 f1 ^. j* k# O/ u( q1 t
8 x; h! J* P" B y- \) A }" k7 u& q8 q; {
2 b+ ]0 r1 V- ^! Q, w }
7 E7 L) M2 I4 K this.getobjstyle=function(node,prop)# P$ m+ y2 d* J }
{( \6 \* q4 j- z; b) H# C; B
try
! y0 P5 U, O+ |' E, ^ {
" H' c2 e3 {8 t+ M9 N return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 b [: i2 @+ _3 H }
3 X, E: k% N% P* Y5 n. i catch(e)9 a; s1 ]9 f; D: v" m
{
2 l+ T( t; j0 ]. w7 a4 L$ d& u if(debug)
: d: Y) B" X( Z' q" d( r' U {' T6 u" x9 ^6 v# Z: ^* q, j
alert(e.message);5 y- J' C: g- y$ N
}) i6 X% s% I& e" Y2 ]. J
9 Z c; w: Z: R/ f return "200";
9 W5 W9 E# W1 l; V0 h }
' F+ e: W, P4 }; [2 j7 B }8 A* d/ P' n0 I9 a0 B( r
3 m% Z; A* r5 ]. H( v) I this.RemoveHide=function(page,objname)) S$ _- G' p. }3 g3 f) O0 B
{
3 x! b8 y" v) M/ d: u try# S6 |* ~0 m4 O+ f& W
{
) t: Y3 O, }4 G) `1 K# i var minValue=15;6 v" m: g8 A/ i, G1 |9 i1 K8 T
var objs=page.getElementsByTagName(objname); ; F% H5 L' c. j3 S$ {
$ ~$ r8 y) c9 ]: x, [9 r; i
if(objs.length == 0) " x5 m: |, s/ a/ l* [; c
{4 @% ]0 D ^; b2 q! n7 a
if(debug)$ h! {) o' X* l6 z
{
$ ]0 k( B# s+ M" A6 G) u( }$ i6 c alert("no object found!:"+objname);
. y, W( g2 |* p. h }
4 @, a7 w% k3 y; l# h }) ?4 e. L- I* o
else* \9 R5 {: R6 G+ ~. b
{
0 n* d' m% R& m* s7 z7 ?
8 S. M1 X* ?9 D" V' A, H for(var i=objs.length-1;i>=0;i--)
5 L; S& X* i7 o {5 \2 h8 q) b. \
var node=objs.item(i); ' R( T, k& u- H8 X
9 N6 y0 _1 n6 B/ C
- t" {" O k9 Z2 x if(this.getobjstyle(node,"display") == "none" ||
! e' e: U: P+ _. O# B( | this.getobjstyle(node,"visibility") =="hidden" ||
& f4 m& ]8 w1 i% q, T parseInt(this.getobjstyle(node,"font-size")) == 0)
- f e. j$ A8 Y D/ ?' J {
* ~$ G, }5 w) x0 `+ ]# A if(debug)
/ o3 x% _2 Q6 o: y! f8 O {' B! w6 n! C- _% B
alert("remove invisiable!");
0 S Q. V% n9 C! _+ K; v9 I- X }7 W1 @! O3 ^3 l/ Q9 c, k3 R7 r9 B
node.parentNode.removeChild(node);
& \; m7 H+ h) Z: q
# C$ X1 ]" a N) J3 }) q0 Q }
& Z" z" |$ Y6 I4 @ s else 4 @. [7 q' G4 c# w* {; @
{, K4 q) P) s" {! P4 ^: n
if(node.parentNode) ) f2 a* [' ~7 V! X" G* `
{
1 \' S) J" {& y: |3 [+ F0 u var orgNode=node;* l3 c& b! j+ [4 t- V
var orgColor=this.getobjstyle(orgNode,"color")
6 U' U; F6 |# N! P0 _* F/ h6 [ P* I: N/ Q/ _ var orgRGB=getRGB(orgColor);
( H5 S7 O \) w/ f5 x1 W* H- u $ ~* C, }1 u" z7 y4 y6 t% D! P* r
var parentNode=node.parentNode
2 d d, W9 V8 E; w var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 D2 f# t. N5 j3 s 9 S+ Q4 f/ Y' c {( H
var isLast=false;" |& u) V4 d o" J2 L
4 `3 f% W A8 ^) N8 o while(parentBgColor == "transparent") # t/ o" G* u, |+ ]
{/ k- Q/ ]& g, I* q6 n8 z; |% d+ c
" S( }1 i6 D) y$ [4 P1 q! V W( m ; G( q, e( j( T$ y( [1 {! H) F
if(parentNode.parentNode == null)
. M9 n" j% e0 e+ s/ {2 O8 j2 b {
g1 m# T2 {) f7 g- [: Q: R) N* y isLast=true;8 u4 `/ n- V& G5 l, b
break;
; ?# j+ N7 _9 M& t& o6 A& b3 P+ Y: c }! I2 M' y7 d3 g ^/ w( [
parentNode=parentNode.parentNode;! ?9 m+ v( I* `; C, a! c8 Z* f
parentBgColor=this.getobjstyle(parentNode,"background-color");
' U- d, \2 X3 p, J% L5 Q
. _* a& j1 Q7 p, l" C* X. p if(parentBgColor != "transparent") : g$ j2 @. r& x7 `8 ^ q& M. v
{
- {& \+ @ s W) U: W0 O break;
* j( ?& U6 k0 O. Y1 } }
/ y# b9 k* H/ k$ g) S j }
1 h* @. D$ e. h. k, f: n) C if(isLast) 9 C. P# C* u% u3 m* N4 R5 \
{3 Y8 k+ ~1 b8 v' q
if(debug); b! W* d# `& S+ W8 N0 ]
{
: E! _- n- H$ I B6 w alert("last!!");
0 o' A/ O+ p, j }/ ?- l; ?. z7 {6 g5 g0 M
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; y+ |+ ^; q( S9 y5 D1 S) ? {
& B7 s$ U1 ~5 d& f& |2 q: d( ? orgNode.parentNode.removeChild(orgNode); . u& ~: [- m5 X2 y; E3 l+ T
}
; Q* ?9 r; F8 @ } a0 o! b* B) n9 n; o# V4 T% |
else
. q) ?9 Y1 j. h/ K* q! e4 Z9 r1 b {
5 E) L$ y* o* ^8 t- n if(debug)
$ a6 J+ f( e, I" j+ R& R {
- n! `# b6 F7 r7 x( |5 O. j alert("compare color and parent bgcolor!");
" R+ {( L! o$ c4 Q4 ]( y }5 [8 ]! F6 ?1 i3 m8 u! d
parentBgRGB=getRGB(parentBgColor);/ I" X% T: E0 H- E7 n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( W1 u @5 Y5 k( P. J. B5 o
{
" @! N& R* b0 @$ E( _2 v4 I6 x orgNode.parentNode.removeChild(orgNode); ; \5 ?+ Q9 o. _) M
}+ a( J7 D* |5 {9 W) A) q& i
}
4 E; v8 c. c5 O4 S2 C }/ [' }* A( d3 B
}) x5 p0 i2 z W N2 |( f
}
$ J/ T) | V, t0 H/ V$ F }
}: Q4 o' _. p2 }2 W 6 Z, P& k. b5 Y6 Q p0 u9 C, m7 I4 i
: V/ K" Z" ]) G( x" |
var itemFrames = page.getElementsByTagName("frame");
- X$ J0 s t# p# t# X8 k& O. Q. G var itemiFrames = page.getElementsByTagName("iframe");
5 [; ?5 j0 ]5 e- T" ?9 s0 Z 9 u. P, o$ \. e; `2 _
var frame, iframe;3 s1 x* A) ^! u6 f; C- _7 l( I
if (itemFrames.length > 0)
0 J- J+ b+ f+ K3 ]0 ~1 F {$ u1 i$ r, H' g# R) `
for (var i = 0 ; i< itemFrames.length ; i++) - a! X p; C+ C" x
{
- J6 s9 n1 G# P8 C& [0 h+ M frame = itemFrames.contentDocument;6 d3 }! K6 g( F; _( `8 R$ {, ]9 A5 {
this.RemoveHide(frame,objname);
4 c7 k# q( W$ T( `6 b& u0 X }2 k5 A$ L1 @ r9 f9 I4 h, W
}/ ~/ k" z9 t9 t% x
if (itemiFrames.length > 0) n% x* l9 P R) R# i3 V
{ Z; Q% A% C- o% n k5 {/ u3 Z
for (var i = 0 ; i < itemiFrames.length ; i++)
* Y7 }; _+ j' h3 i9 U {
: M v7 U. c& Q# g% Z iframe = itemiFrames.contentDocument;* |0 F1 A0 q; \8 w% S
this.RemoveHide(iframe,objname);
% m% e7 E& h2 x$ D: B+ Z: z }
$ k8 i5 _4 m4 s: |+ D }5 y; j# X0 b# \- V2 ]6 Q! N
}2 T# Q b" p# g8 a* q% q; d. `3 r
catch(e)$ E9 O& h, ^' h- N% y
{; F+ q4 o- Y! v4 N& [
if(debug)& ?1 r% y% s% [6 ~& n- H; F
{
7 r/ Z# t* p5 C alert(e.message);$ s( e& T7 ]$ P9 z
}
3 u7 n8 W3 W0 J, i5 k2 u }, [' I, i5 y1 z) j
}
. z7 I! ~9 b" O8 t3 z$ [9 d M T; r4 e4 f
}
9 k4 ]) r9 t( y) ^! D! }& {1 L' E' ^2 l$ U
function getRGB(colorString)
5 {8 c/ A' j. }7 G9 ]- a{+ K: @5 Q2 R$ @$ i
var RGB = new Array;3 F; r/ z$ e0 ~& }$ D& @
var tempSting=colorString.substring(4,colorString.length-1);
$ `( z% G7 }+ Y; x. j4 f/ a5 ~ var tempArray=tempSting.split(",");5 r4 H5 e5 ]+ U& f+ b+ S- \, q
) W$ ?$ D. q# t
RGB[0]=parseInt(tempArray[0]);
4 ^: J: v% ^8 k" k RGB[1]=parseInt(tempArray[1]);
% W- M( n2 P6 `" W; ?1 a RGB[2]=parseInt(tempArray[2]);4 @. ]2 {' [( B; r% \ D! _
# S9 z) I* v7 e5 F R5 V# G
return RGB;8 {4 ^8 v; P6 P& i: ]
}
n% A9 C% w8 [' M/ nfunction keys(evt) 4 Y8 E5 U E8 M5 q* x4 t. u
{
9 b# l* x% \ K6 f: k if(evt.ctrlKey && evt.keyCode=="81")
" R$ e( A F( E' U { # @7 r; y8 o" ^& i& Z
CleanHideObj.on(0,1);* { M3 J! j0 u0 g9 r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - B4 |1 q: t+ d# v* R
~% K' A( {* a1 u( E
} 0 u) R- w" j4 \, [5 ^/ R' u
}
5 i8 ]- B; S3 _% Xdocument.addEventListener('keydown', keys, false);
: y0 A* k- d8 ^1 U( i MGM_registerMenuCommand ('Clean Hide',9 `# h) C* t7 E4 B1 ]% p h
function(e){
# K' X7 v2 Q& C7 a3 mCleanHideObj.on(0,1)
4 \, Z* l! D2 Ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 n- i Q- |; Y; h0 q u& r2 t
});
5 F; a" @+ J5 k9 }/ e |
评分
-
查看全部评分
|