|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 R" X# m T5 x1 i( `' ~; h& o! T0 K; w$ C e( J i! s0 Z
火狐插件,用猴子: w8 J* a: s2 ?' h
- x, H2 A, T: [% ]3 r
var debug=false;
3 [/ @+ n1 @8 p, P6 k: e* P# Yvar CleanHideObj=new CleanHideClass();% A1 a ]& S+ e' }- K
: w6 i# O3 D q6 c! M
function CleanHideClass()
+ |! x4 N# x( h, O: D4 ^{
2 p3 W/ s9 s1 s3 {
' I. k9 n. t# { N- l6 r this.on=function(id,bMZ)
: u! W6 e4 c+ I7 ` {- O6 X; J" d$ G
: M. p0 W0 `, |8 b5 @+ S! e/ ~3 r. D
if(id == 0)8 R4 | ^0 E7 a# E3 b
{/ A# _- b8 b4 @& u! g
var page=/* document.getElementById("content").contentDocument */document; 5 Z0 f2 G/ W- ~+ k2 U5 V6 V* K1 l
this.RemoveHide(page,"span");
c5 k( X, e4 O this.RemoveHide(page,"font");; P; j3 V$ G: s$ M5 Q2 }; v G* E
this.RemoveHide(page,"div");
4 H! R% q1 l }+ _! _ this.RemoveHide(page,"p");9 s i4 { N: [8 u7 p/ \0 v: U& v
l* c0 s+ ~8 o6 Q }4 l6 j2 N. K6 t& B' t9 e
# ?% q8 w$ w- I
}( n: E% |" }3 k
this.getobjstyle=function(node,prop)% _, V% `3 T" y; w' d( k
{
3 z+ Q, E* I2 L; T: a try
. Y6 O0 u4 S* X. z k# `+ M6 _8 v {
0 v4 O9 o: J3 _) r$ Z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 D! b; W r: ? X3 A }( q. c1 T2 L- _6 K7 m2 ^6 G
catch(e)
) y1 k; F c* V7 q {* J3 l. a- Q8 d( d) r
if(debug)
0 u1 ]) w X# z {5 R; B4 \% k, \( Z, q
alert(e.message);% \2 Z- G0 x8 `2 R& U
}
2 W: p8 L( ]' ~! ^& G/ k N; n. ?
$ a$ B& @9 P: j0 L [ return "200";
+ x! P; ~- p$ u, e7 D" \- J }
) {2 b h) M2 ~$ |4 M& _ }
( t+ h, {/ {$ k& z& v+ z
7 Z P; k+ W, ~. K7 S this.RemoveHide=function(page,objname)
+ Z: L" t- W+ w& F" V$ m {
4 n0 ?+ x3 {# g: E: D$ J try
* n2 Q+ E( f2 R4 p. I {
' L2 i' F. i" B. x0 M, e, i" _ var minValue=15;
) q* H/ Z5 j0 B- Y0 B. i1 e var objs=page.getElementsByTagName(objname);
+ f0 z0 c& v& G
& O2 j6 W0 I: `6 `$ I/ h: E. } if(objs.length == 0) ! ]/ Z n W9 u8 `6 S
{
: N0 R" s& Y X _. l if(debug)+ w' p! E% B3 n- M8 N- x7 j
{
/ m9 n. b4 J& w+ I7 ^ alert("no object found!:"+objname);# N @ O. `& o3 ?+ X/ c
}
, H2 P/ m/ Z: t) p; x8 u8 ?& G }# E* s) d0 f! ?" a- [
else' F. a) E0 ]3 ~) [! E; J" M* u
{
, B: D5 v; B) X H
* I6 B0 P. Q4 Z6 N# j- r5 [ for(var i=objs.length-1;i>=0;i--) ' W% k' X9 t" v+ i" @
{
- `* x1 f$ V- P. i; w- j9 ]1 A6 w var node=objs.item(i); $ v. L) {& l" W+ ?2 }( a
/ I- X+ X! U- | 4 h% u$ N& b4 K
if(this.getobjstyle(node,"display") == "none" ||
I* q/ B2 R2 f) A/ D/ g this.getobjstyle(node,"visibility") =="hidden" ||
$ H4 Y7 w7 {& P+ o% V, g- z4 T parseInt(this.getobjstyle(node,"font-size")) == 0) % u7 L; P5 C S B* B
{
3 K; W6 ^8 C: C6 k* S# J% h if(debug)
' E- L, j3 J. r. G: Y {
& u. a' e4 p( Z$ f) ]$ I alert("remove invisiable!");* e6 e# Z6 B& ]9 `' t! o3 T
}
3 q; Y- U0 f4 u3 z+ T5 D node.parentNode.removeChild(node);, b! V' D8 [9 \+ q4 z
P$ h# p; ]3 j! |' K }
# f h/ g3 D7 y& ? else " i( E& C3 \( S" t
{
9 y' j/ f3 o2 Y9 @ if(node.parentNode) ; p5 V f+ c9 m9 T& {* ?
{ Y6 D1 @( Y% _& ^/ g, \
var orgNode=node;
& G4 Q" r1 E( M. M7 @* U: ~+ t var orgColor=this.getobjstyle(orgNode,"color"), G' D% h l( k* U/ |6 o( B
var orgRGB=getRGB(orgColor); 9 h; U8 m1 z1 |4 G3 N/ f4 r1 }+ K
* z' U6 w0 Q0 u/ h6 a& m
var parentNode=node.parentNode
8 l! Z) p% R+ b% w/ N var parentBgColor=this.getobjstyle(parentNode,"background-color");8 Q u# W: f0 D' H, l
& t$ _9 y4 w6 F4 [- [ var isLast=false;4 g( S; l9 y( R; ^$ D
% u- c5 ^ K. ?# R( G while(parentBgColor == "transparent")
, F# C1 V7 P0 Y* X B- P9 x {; Z: q% u) B! Y* f4 l ]; r. F+ g
2 ^: I' G$ F7 _/ C4 m- I* H ; }$ K) K t% I5 o8 i& o8 X& u- c
if(parentNode.parentNode == null)5 V( y3 A# j& l* I4 F
{0 ? g4 Q3 c+ d- V2 N# [- ~
isLast=true;$ u- v2 u/ D1 r& [8 x, B
break;0 Y5 X! Z) D# {, \
}! [8 v. c) i( A
parentNode=parentNode.parentNode;4 o. G; l) X$ X- M) ^) Z q
parentBgColor=this.getobjstyle(parentNode,"background-color");7 Q% b7 V( _* R- m w
! D5 j3 c$ i3 L9 A2 {. ]+ z. @! p if(parentBgColor != "transparent") $ H2 p; F5 j( f2 B" D% ^
{* y- m% ^* `* f! A
break;, H. N8 P( X+ G
}
2 r' ]; l2 B# Z K3 A+ s$ [ }* h0 L }+ m. i% @2 m
if(isLast) + f6 x/ ^0 R3 b0 y2 s4 i( I
{
' x5 w0 [! E# M, o if(debug); ~2 y+ e" t; x/ F( ~6 l
{
. V% Y1 [: u% z# y1 u6 S alert("last!!");
* C4 t- W# \" o P2 F }6 ]2 Q; E2 q: j
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 g6 t$ Q9 n5 H w* v* v# U {! Q# F. V+ T+ z
orgNode.parentNode.removeChild(orgNode);
% F* x- u0 m( } }
) @9 F4 W/ q0 w }
. r# s8 E" c6 e! u, A" D) D else
" u# k: ^2 R; b0 m, [2 n {
# o8 h& \) T2 \2 K% _5 o if(debug)& {4 O. I8 [2 {* y* o
{
& L' K3 J" L6 {- E, t" D alert("compare color and parent bgcolor!");
. E/ x2 L1 k5 w" l1 i: ~ }
* m+ @* }7 M7 I g parentBgRGB=getRGB(parentBgColor);3 h0 D# | K5 l' y
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 f) f7 v- s( [
{+ W) W9 T Y" m& u" w* j# c! c: [
orgNode.parentNode.removeChild(orgNode);
% S2 h* K- a% f }6 Q; ~8 e0 U! @+ p
}9 h. B0 s1 |0 v, S6 Q- k) k
}% ^2 n: o! `- U- m
}+ e/ s% l0 x- @6 L2 [2 k" k
}* P; I5 M+ R, J. o) }) g' V
}
- L( y/ ?) l4 Z" v5 N
K* d5 e& n' H/ }' f $ D+ G6 m) d3 L8 `* e, G7 G) i7 G E
var itemFrames = page.getElementsByTagName("frame");2 ~7 g6 H0 j- a% f
var itemiFrames = page.getElementsByTagName("iframe");: p, W" M+ U4 a' F/ C- z) {2 G1 D
2 }+ b. s- d2 T8 J7 s- J var frame, iframe;
% ? D. Y% ]: n. Z; Q7 l C8 b if (itemFrames.length > 0)
8 F7 y9 [" |, [! r0 B {2 F- D/ u: m8 l. A, P- V9 L
for (var i = 0 ; i< itemFrames.length ; i++)
0 ~# d$ x. R; S: a4 X {
+ W0 \1 J8 d0 G+ q frame = itemFrames.contentDocument;
$ D; D& Y) f* R! S this.RemoveHide(frame,objname); : P" h7 I6 [% F+ g
}2 a" }1 u* L1 }* S
}- r) |1 H% k! {" k# i& s$ J
if (itemiFrames.length > 0)
/ G7 q9 w% H( J! { {) A7 r1 p' m; a- z7 \$ J" ~
for (var i = 0 ; i < itemiFrames.length ; i++)
5 U$ k7 u/ x* N. N, s {
9 L' Z: Z' P5 s( R1 {3 ` iframe = itemiFrames.contentDocument;
$ b9 W8 P4 y9 l( A this.RemoveHide(iframe,objname);
/ |* L& o# K2 h5 X8 ~( p }
/ D M# r, ?, w3 ~" Y" H; K( n }
* P# N7 h9 J# `( R* X( s8 S$ I }
6 C8 W0 N' y$ U% y* z catch(e)
4 X) U$ k3 v# C0 P2 _ {
* A7 R3 g& `4 f; }5 i, E; C if(debug)
1 Y' ^9 x9 ?. Q4 I0 a7 Z0 m {1 i$ D- ?+ ^+ t+ h5 S( N
alert(e.message);* N9 |- S% L$ j" s# ~
}1 y+ _$ G% F1 s3 p1 S0 @9 D8 S
}0 a) ~+ q, C2 K" L$ f
}
2 `5 k- m- w" _% @
, e! S# S7 A0 M' l8 k' Q0 c! d}* @/ f N* N7 j" k- K3 _1 \% z
( H9 N9 k% s' f! A- p# M+ z5 Ifunction getRGB(colorString)6 l% L( P6 @: |/ i0 r; Z3 R
{' x. w+ S$ z6 A# [7 v9 B; c' q
var RGB = new Array;
/ v' N9 o/ M6 d ^4 I var tempSting=colorString.substring(4,colorString.length-1);
4 P- X* o4 o0 I3 O var tempArray=tempSting.split(",");
3 `0 n- b3 g* ~8 L! a
5 A1 E7 B* ^0 k RGB[0]=parseInt(tempArray[0]);
5 h2 U2 y" R. g6 W" n9 S: ?" f RGB[1]=parseInt(tempArray[1]);
, M1 C; y, N$ L2 c; j5 G( W k RGB[2]=parseInt(tempArray[2]);
% j/ W* S* H; J. ~4 T% m) g* M4 B $ K2 u7 {- K) f$ N5 b
return RGB;
( C8 N J9 H. d( Z$ g}
$ F7 f6 C9 V. N5 h% w* bfunction keys(evt) 2 k. d- v1 F8 z# U# M& R* r
{ 5 W' F* G/ Y6 P2 S* X& o# I
if(evt.ctrlKey && evt.keyCode=="81") 2 b, R% A: {0 g( b5 o/ k
{ 0 ~0 m% v; D4 d# z
CleanHideObj.on(0,1);2 t1 G& c% V* Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
L& }1 t G4 i 7 B/ c# K/ s& \% U5 ]
} 9 h I1 J% v8 R* N1 n! I2 z
}
) g+ E9 \: k& F9 z2 {document.addEventListener('keydown', keys, false);
& y/ @! M5 s' T4 Z/ Y9 lGM_registerMenuCommand ('Clean Hide',/ A. t: ]4 G+ j4 W. T* ]* h/ u
function(e){
q8 C% o, b+ X! | A/ P! gCleanHideObj.on(0,1)1 l) z2 M3 w" d+ G1 r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ Z& d! T; W, J: h});
/ |' i( A/ Z2 ~% [7 s% y |
评分
-
查看全部评分
|