|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 v% y. a5 m& j8 R
( j2 i1 |* x& J% M( G6 E
火狐插件,用猴子& P+ {- G3 p+ }2 H- J2 y0 X
+ Y7 U& A. W3 V0 E1 S/ y
var debug=false; + t: W. |9 H" n8 v
var CleanHideObj=new CleanHideClass();, y4 c$ Y% K! y; Q' t! H
- B6 B) x- R+ c4 p; Y# sfunction CleanHideClass() 1 ?, h2 ?; Q" D* K# w
{
6 R$ C$ z: i9 w
% r) J- P6 ~! F- o6 B8 F$ g* J this.on=function(id,bMZ)
( r% U" n6 j. Z% V {2 ]5 `3 b4 Q( m" O; e. C
4 [/ r& C! M9 Q7 T& S
if(id == 0)
: J. b7 o- j/ Y/ G: b7 j* J { w, ?) i. V: }. d4 d
var page=/* document.getElementById("content").contentDocument */document; J4 l" N! H' K- Y2 j& f
this.RemoveHide(page,"span");& M% ], [+ T$ L; K- j0 S, H* C3 E
this.RemoveHide(page,"font");
4 ~" U7 r% O9 W2 [! y this.RemoveHide(page,"div");
/ A, a: N( h+ s0 y8 V# m this.RemoveHide(page,"p");5 S z4 L: n" ^: x+ ^" a. G
+ W" O( Q5 `4 B- j% X' ]7 x }; b: [ R7 ?9 D
, E9 X# V, x& A5 Y) B% y8 C' q% Z
}
$ l5 H/ |' b" C this.getobjstyle=function(node,prop)3 P9 v% N2 ~4 v; u
{
8 B6 K( P# b# Y$ H; V6 |& O7 |% @ try
" w; _/ u# O% M3 X+ x+ | {
! c y. [' ?+ D9 m! b% v return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 R! E2 C8 f4 ^& _) Y! D
}# E' c; o9 n' H1 a0 K
catch(e), N5 U; E$ a8 K" q1 U3 l8 \- f
{
" t% I6 `% O) X3 L if(debug)+ e9 b7 c+ ?0 F' u# G& n8 v
{ n }2 n2 P* p. a2 b
alert(e.message);( t* p p8 i# y5 T' o- K6 ?
}' e4 G' M6 ?. H. J4 t
3 G" j `! v ?/ c/ f! u; ]: U. F return "200";
: X1 @$ v# A5 V }: t4 k: K( ]% F
}, d t) r0 W# S2 t+ x( \
5 `) r4 ^0 p# @ F; {( k. i3 Z0 j this.RemoveHide=function(page,objname)
# ]- W) a, G6 E. j {! X6 p8 T7 E- p+ _
try
b7 K* k. Q/ y$ G {3 E/ ]. N$ K- d4 e$ E1 `9 K/ r1 F
var minValue=15;
) ]/ {- r6 Y7 J var objs=page.getElementsByTagName(objname);
( J) z6 A+ X6 J
# S, R. f* d- _; [$ y$ C if(objs.length == 0)
( }8 ?9 O3 a6 ~ {
3 X0 {+ `0 f# t0 X! V9 _! m6 K if(debug)9 d1 b& R# Q1 U
{
+ O _: t1 J+ k! x& s+ q1 @3 G alert("no object found!:"+objname);
' P- s4 a, ?$ }* m }
$ M5 z+ R' `$ [/ Z% M/ ^- [0 x }9 F. m# [* P, x8 N# p1 P e
else
5 [7 t, w# \( b6 | {
. O' j4 n& n* F: g
6 e% M% I0 i% X for(var i=objs.length-1;i>=0;i--) % `! ~: U) T' @, w2 E
{. |; C; E# `+ ` X8 d6 o% A
var node=objs.item(i);
$ e9 w% O, O. H* G' I7 D ! B: h! `6 N- l
! P! D2 M) a$ i& E+ G. f; V) y if(this.getobjstyle(node,"display") == "none" ||/ a: i. L" S9 ]8 D' ^8 p
this.getobjstyle(node,"visibility") =="hidden" ||
& R2 i$ u6 t& i3 P: ^ parseInt(this.getobjstyle(node,"font-size")) == 0) ( \8 H' w" H- z! h; b
{
7 j2 }! c7 L6 H/ r- N if(debug)* s" a7 l. g" R* y0 K8 E0 z
{; [/ ?6 S" Y2 ], {
alert("remove invisiable!");
. P) ~9 Y6 H4 m: N }
5 m9 y6 O8 `6 ]# Z0 d. j0 Q# v node.parentNode.removeChild(node);
- n% D/ A$ j! ] d. A. S
& d! z3 w U9 Y$ q }6 p5 E2 |4 v/ T* B4 G, q) m9 l
else 7 A; D4 E$ m' Y; @ s O$ g
{
2 ~# M$ |# m9 ~- d& f$ x; u if(node.parentNode) 7 a4 h( W" M% k$ W5 e1 p5 [
{
' M" w9 G3 k1 n- d" ~# R% O var orgNode=node;. h7 K j. a6 u3 p: q
var orgColor=this.getobjstyle(orgNode,"color")
3 ~; h& Z5 {4 b# I# K5 Z3 m& q var orgRGB=getRGB(orgColor); # s0 O% c" m: N7 \7 Q" \) }. u/ m
* d- M# }7 V8 _ f2 E" n
var parentNode=node.parentNode
8 X, y; q2 c. f' L3 S var parentBgColor=this.getobjstyle(parentNode,"background-color");- E) ~' ]+ x8 j. W* v
8 {, O9 X3 i' q, g% m var isLast=false;
" v: e+ ]1 U. u) {/ P 1 u" z1 r9 C2 w5 N
while(parentBgColor == "transparent")
0 j2 M4 L, i1 D( [! L- d {
4 T( R" E" g: b: U
) [' L4 s9 y& `
+ a# d9 g) j# \, ` if(parentNode.parentNode == null)* V `9 ?( g) }7 V0 X; e ~
{" ?. W5 X0 `( k3 p2 ^
isLast=true;
6 ~% t" C$ w7 i break;' a; A0 r0 S% D" ~2 |7 z/ X3 c
}5 t$ [. B3 G v% s" Z7 ^ B
parentNode=parentNode.parentNode;9 _- Z5 ]) l" k$ |8 N6 ?4 g
parentBgColor=this.getobjstyle(parentNode,"background-color");
! }% `7 ]- C5 \# `1 M, S9 M* o1 c
if(parentBgColor != "transparent") # ]2 I- I# @9 [/ r% ~, g) B0 P
{% F& F2 m4 S9 U4 `% e' [
break;
9 ?7 h" [- O* Y }# t5 Z9 h9 _; s0 c7 y& f4 B2 u
}: u" A, o2 `( s3 u4 E
if(isLast)
+ D5 }' e0 R7 {6 W5 M2 z7 k {) H# p5 G) w5 A& @4 B
if(debug)" r, O4 i0 T: e
{
! l9 b5 N. Z! e8 `! p alert("last!!");
; g; X; {$ |. P! C4 t/ J8 H7 Y }6 v( F3 a/ F1 O( a5 z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ q0 ~6 o4 R/ E
{
0 S: U/ N: H3 d1 Z" T" a orgNode.parentNode.removeChild(orgNode);
7 w* C; {, N! o, A* N& n3 @ }
' w' s. f7 W- Z1 U* a }
# i/ P5 Z& r2 y# I) R: ]3 N# w& {: \ else
$ w; X0 j- q$ y2 D1 K" O4 W" c8 ^ {
0 \. d6 C( x m6 M if(debug)
' X4 V& i" [( C {
+ V& g* G; x3 I* L# W* v alert("compare color and parent bgcolor!");1 J. y& W% s0 X' A) g( ]+ b2 f1 T
}. H& }8 ]1 C; b P2 b/ a
parentBgRGB=getRGB(parentBgColor);
1 b1 ?1 e9 k7 {/ Y* A$ P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: L& }* p {0 X$ a+ c$ Z7 c4 q" Y {; v/ @# ~+ X" @" H- F- J; q
orgNode.parentNode.removeChild(orgNode);
+ K& {% B% b$ g9 f) B }" c& h* \2 C, U9 Q/ E
}2 l0 E& Q7 d' g7 t* v: c
}" ]. a0 h6 [/ W, p8 J
}' E. A, A9 D; m4 Z
}
; [- Q+ b* ^8 t8 {3 k% ]3 z8 q0 U }
2 y# s0 u3 E% N$ j
' l5 F2 [* Q; R# X3 E& ~; g0 `. u
; \3 [# O ~0 ?) ]2 |, p% y var itemFrames = page.getElementsByTagName("frame");
( C) b: `& \& ? var itemiFrames = page.getElementsByTagName("iframe");# i) t9 q0 B6 ?5 P' [
# w' y- o6 M2 p6 I* S- I" s/ y u3 b
var frame, iframe;5 a4 T9 |$ p; P3 s6 X
if (itemFrames.length > 0)
+ k; R* O3 y; j2 j- ^ {
+ d& ^* u3 ^* d for (var i = 0 ; i< itemFrames.length ; i++)
3 o1 e# W6 S/ q: V& c* \ {& f5 V( }: T% X" w: d( h
frame = itemFrames.contentDocument;! w, G) }+ _9 |& v4 x1 i9 E) L3 n
this.RemoveHide(frame,objname);
: G$ |/ N) B: ]8 y8 }; d& Z2 c }
4 q1 \, P4 {0 G8 W, F- Q0 o }
3 N6 h. }+ }! I9 c' p7 _3 ?7 _( | if (itemiFrames.length > 0)1 ?1 }9 U A3 z# N! l
{, c" I6 G" F h( p7 R
for (var i = 0 ; i < itemiFrames.length ; i++) 7 x( I. R- j. O, G% u" f" a: Q
{' D# J1 \! i) _# j. T' O
iframe = itemiFrames.contentDocument;8 O/ G1 _9 s$ m
this.RemoveHide(iframe,objname);
( A: O8 J3 ]) N$ w }
: x4 o- P% U C" w }
! V' z8 l; ]5 X4 i: G }) Y- Z; q- l; k" X7 @
catch(e)
0 P$ i0 G$ C W; s {) H6 v% i+ O3 t8 M g, d
if(debug)
: m! Y4 g6 R6 q% t' A7 ^$ I {
( |. T' o0 Z) ^3 [6 U2 b/ m# b, s5 W alert(e.message);
& s9 A9 H8 Q! o4 K }" D4 w1 v$ W$ r
}
9 n& y- b v$ q/ [/ g, A }
, {( \9 D: a: N- f: | [' ] 2 E8 d" T% O1 t- [! Y8 P, o' A
}
+ q' |* C" n1 F0 e4 k0 Y9 P8 C+ F/ i0 ?6 _2 T6 u; r
function getRGB(colorString); `' C8 E1 \3 M" w& `* V
{
* E& x! b. L2 D0 h9 s2 V var RGB = new Array;* i+ a9 R! \3 c# H$ u
var tempSting=colorString.substring(4,colorString.length-1);% V: i$ c$ T/ R+ x$ F- n' H9 z+ ]
var tempArray=tempSting.split(",");
2 Z' U' `, B/ {9 T! D3 ~0 S
7 k2 M/ L% T3 w: k+ _+ u RGB[0]=parseInt(tempArray[0]);1 P/ r# h5 h+ p/ _# Y3 e& r
RGB[1]=parseInt(tempArray[1]);
: W; h8 b6 G" U6 r$ Q( W1 k RGB[2]=parseInt(tempArray[2]);9 x- e. C- G8 `6 I( ]3 {
! A& P( A8 A. V9 ^* x+ n return RGB;; N: m7 E8 s7 [" z* C
}+ O/ D# w& ~1 q" k- o
function keys(evt) 9 ] e4 q+ v7 M) R
{
- n0 ~( x9 I4 t: q: Z Q if(evt.ctrlKey && evt.keyCode=="81")
4 I% f9 |! E% x0 h3 } | {
5 Q# z0 W, M0 d5 s, M CleanHideObj.on(0,1);, O2 @8 H* y, w8 y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # Y% @, _: i& q( Q& K
" J' `9 L1 Y. f4 ?" K# T }
! m8 F+ C5 b% P& {+ X. V: m } Y* p( _ q4 C5 K, G& T6 H
document.addEventListener('keydown', keys, false);
+ J* a' l: }+ iGM_registerMenuCommand ('Clean Hide',
; o: X( `; D5 v# Yfunction(e){
, l5 H' p5 T, sCleanHideObj.on(0,1) w" Q, _0 K; t& }$ Z6 E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 {) d" h6 X& t- X6 z# O});" P6 v5 G% q1 Y9 X6 P% a s* C
|
评分
-
查看全部评分
|