|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 ^0 f( u, c& v% A8 J/ q/ m. f
0 ~4 M+ }# E2 m o( o: ^* p火狐插件,用猴子
% k3 e1 D2 ~$ H; C0 B1 ^, R. C) `: A. T0 ^
var debug=false; - C9 J4 m* K8 Q1 ` t
var CleanHideObj=new CleanHideClass();% Z q- j5 c% L
7 p: p4 F1 c. Y! a3 Ffunction CleanHideClass() ' B# e7 ^/ N. c' A% Z+ Q M
{ 8 Q' y% f# D% Z$ \
# t; m) ?7 x/ y2 ]! V, i2 V6 m9 T
this.on=function(id,bMZ) ~& f- F T- \5 n- A' |; Z
{4 @/ { B5 v$ ~8 ~' A }6 P
L! s0 }2 }$ q+ \5 G6 f9 W+ [) [ if(id == 0): Y! ~& m- j; f4 J
{( Z6 d4 w$ R% M# a1 c7 V& t
var page=/* document.getElementById("content").contentDocument */document;
- k. q8 ]8 z& \8 u# [: h this.RemoveHide(page,"span");0 d' S, {. P* d' w/ V: X
this.RemoveHide(page,"font");
$ v9 e+ [# v/ d* @4 B9 t this.RemoveHide(page,"div");1 m1 g( X4 l- z& O/ d& W
this.RemoveHide(page,"p");
! }; e8 ^& U4 r2 @$ I: i
. g( Q3 P, `; T5 q X6 }9 M4 A" W. E }" F6 k" A- x6 Y$ a
6 Z8 d$ \# x& h
}* P1 |; J4 @2 }2 t" T8 G
this.getobjstyle=function(node,prop)1 X( u* G1 s8 N- S
{( I/ w$ y( A; b! w, I
try& U: Q! O7 P+ e" u8 u0 F
{. K- S; d9 M8 V6 }1 `, F
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# P# P9 B+ F: T4 w" R1 ^. q
}
4 S/ [/ z5 K" R catch(e)
; ^1 g# B/ u! i+ x9 ?5 m1 C0 J {. _5 |3 N( {5 Q4 Z' D( g c
if(debug)
( z& L I+ q$ H" D {: d% I R" [% b( V0 H
alert(e.message);: B: j& D9 ]$ G9 w" C& |
}( T9 F3 Q6 r$ G3 \
0 g3 R/ u4 w/ C! X! |2 Q i
return "200";
# C ]4 o& A6 C* b/ M }, h% I/ ^$ T& |& s
}" s- _, p5 ]# S- t6 q1 f
* ]% I) F/ C* N
this.RemoveHide=function(page,objname)( u" N. [4 ^: [ Q$ v
{
3 C4 }. u: P( ]+ w! ~ try [3 y1 g3 O6 r! @
{
) a3 n$ o' e5 x2 ~* V { var minValue=15;, ~1 \; [5 d4 |5 G
var objs=page.getElementsByTagName(objname); - a% n/ |4 r% D6 f& E9 W; e% {
* j, `( h+ w! b7 d6 c; g/ F if(objs.length == 0) 7 A0 d) @: R2 Q0 I
{
% U& y( r' C& N$ D1 _( h$ H! W$ p0 W! h if(debug): @( _4 p7 t7 e( h) F
{) T% W7 ]2 S( f7 h: F1 v& x& J
alert("no object found!:"+objname);* ?" }: j4 k; N7 p6 j
}5 B/ I- E) V5 M1 V5 v( S5 c
}
% B7 f) _8 J, f else! L0 l* W8 g: y& _- N8 d% d
{
) w) ^3 ^5 H9 j4 {& @ / R& c2 e# \- p: Y; D+ i. O
for(var i=objs.length-1;i>=0;i--) 5 |2 E* @( L% K o9 _" N( s
{; L5 |) p* `/ C9 {6 {3 K% Z
var node=objs.item(i); - z! m0 p$ ~. I: K" t, _
% o. Q, U0 a) d2 i! _2 q" W
: W( x$ O6 G7 L* G5 L if(this.getobjstyle(node,"display") == "none" ||
$ A+ Z+ T. }4 K2 C. f8 N this.getobjstyle(node,"visibility") =="hidden" ||
" W2 y+ k, }! }) r5 D* {# S, D% P parseInt(this.getobjstyle(node,"font-size")) == 0)
. j ^# s) c. O8 t2 H( g* L, i {
! E7 H3 |# s; O& s if(debug)6 M2 f7 {' P/ ]0 R+ ?0 i
{8 X; w3 |# [0 \) \. o
alert("remove invisiable!");! x- i* F4 T! v
}
5 P7 h5 U; X* k1 `" t% k node.parentNode.removeChild(node);
/ l, d- n* c1 A9 V) Y
* h% K* u( m+ n }$ f" x" F6 q2 d
else / C7 W- _6 p; A. o1 W+ q6 ?
{" y# q' l0 O4 V( a
if(node.parentNode)
: g) }8 ^- N2 l8 L; f. [1 W3 C {) Q# w5 k# |) J8 ]7 V4 w2 t
var orgNode=node;
2 {" d' x5 M5 D! x6 F var orgColor=this.getobjstyle(orgNode,"color")5 T: A) s, h( N8 x7 E
var orgRGB=getRGB(orgColor);
1 d9 |+ K+ Z0 ^ C' t- E
' O: h s3 k" [# V var parentNode=node.parentNode/ q* U4 `6 ]& F/ ]- r1 T
var parentBgColor=this.getobjstyle(parentNode,"background-color");$ x- H& h( e& l3 _( T. K: U
* `5 n% c" F6 v9 p" o+ [( G var isLast=false;) K( J# w5 W$ M
: z, |; n- ?/ X5 t4 r while(parentBgColor == "transparent")
7 p+ `) s$ N( J9 W { U/ T8 V' a& D# j, c
; I& L$ H2 ]1 a
- J' U* m, f T7 d0 @8 f
if(parentNode.parentNode == null)1 u' K9 Z" s5 F5 Y! m, `& b) R
{4 I+ O% P( j& F) _
isLast=true;
5 y1 }2 v# C0 M4 h$ R2 N! G break;& |" E8 S- v8 O9 q
}! }) U% H7 \ l( q! P& W
parentNode=parentNode.parentNode;
. {1 \6 l! M- q h8 s0 r8 G- {6 C9 m parentBgColor=this.getobjstyle(parentNode,"background-color");; d2 T7 p' Q: o3 o
* Q& L+ h. W1 Y7 u- t. ? if(parentBgColor != "transparent")
! `# O& I, X% h* Q2 U; Y+ I* l {! Y: S0 }9 q/ X0 Q* A
break;
; B2 I3 d! X k* ]. z5 w7 }- L D+ ^ }# x8 C, H; G& d# v
}( U7 D: ` o/ |6 t
if(isLast) * w- D# p ]: y" ~$ o' I0 d
{
3 {: c$ N( l# X4 F if(debug)* e1 y( H2 V" R
{
5 [/ A1 o- P, }" @- k alert("last!!");) s- }2 }9 n$ T4 W+ ~# Y
}
! f' |! } o4 ~9 A; b- s+ ] if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( p2 J' ^1 U; ~- H {
3 ]# F a7 ?; N% H6 K orgNode.parentNode.removeChild(orgNode);
3 [! _ ~+ r7 [ }
2 W6 ^" S0 m! \: c' o, k }
3 q, ~" q/ w( c* i3 e else
0 N* w9 o/ S0 V. k* P {# |3 M- E3 ]2 W9 q8 V/ o2 Y
if(debug)
/ Z- O5 z' }0 M7 u {
z! m' n+ q4 t; w5 J' Y" O, d alert("compare color and parent bgcolor!");
% m2 c: h* r! @ x }
& ~5 W" x) _7 [! e. y parentBgRGB=getRGB(parentBgColor);
8 b# e* s" I8 B. w if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& S" t }9 c. l3 r {- P6 H9 L8 r; N% `
orgNode.parentNode.removeChild(orgNode); 2 o9 t; t+ H5 i9 r3 W" P c3 ]
}. w7 T$ k/ }6 g& P
}( K% v5 @: g$ y+ W1 |, v
}
9 P! T! y0 K0 ?1 N/ g! e, l }! y. t0 X/ m. f" Q- x+ T! b& I
}+ u- l& v% c8 D/ A* ~, g# ~
}- r _. D9 u. A0 R
! C; G% g3 o. j8 r1 v# X
9 d" e& I8 ?! W, B var itemFrames = page.getElementsByTagName("frame");! R9 c3 J- W6 t( x A3 Q
var itemiFrames = page.getElementsByTagName("iframe");
: ^% v/ Y m, C$ H9 M3 v8 ]# h ) V, \# z5 H# `/ X2 I0 d# m
var frame, iframe;# M& K5 l& Y+ n! B- Q9 b4 j
if (itemFrames.length > 0)
7 I1 ?; ?! q* U7 V# s {
0 x7 m% {, C c1 q$ L for (var i = 0 ; i< itemFrames.length ; i++) # e7 q8 h1 r1 O" i7 d# P
{
x/ q2 u4 f* v) C! k. {- c frame = itemFrames.contentDocument;$ ]9 D; B+ c& X1 K
this.RemoveHide(frame,objname);
! Y4 Z; e( R- C: c7 S4 _! A, \ }6 i3 Q O. _4 ]2 L* S+ J4 t F
}
4 V: Q2 [3 n5 D9 r1 g" E5 p+ d if (itemiFrames.length > 0): j5 v+ A- K% l1 `1 T W
{
) K/ G" ]1 U" A# {; O# {% i( Z5 Y for (var i = 0 ; i < itemiFrames.length ; i++) $ T# S" ^! [% C
{% ^, d3 Z2 Q) L% D& i' [$ I% j
iframe = itemiFrames.contentDocument;. J6 T7 i9 J, O" V& t N X/ A0 p
this.RemoveHide(iframe,objname);
3 u l6 d9 n! {+ Q }
. L/ j b. b% Q2 h: Z }" J2 H f: [ e+ H; j0 O
}
6 B: R7 X+ i# Q catch(e)$ D7 ]- k( B& q' r) m
{- i% r6 D5 [5 C% Z7 Q& z- G5 c
if(debug)
! e9 z7 {% M% ?7 T% y1 e4 U {, r8 J5 [# o$ b: J+ N
alert(e.message);4 g) x, R0 z( b, F
}* i3 f2 j1 y2 r3 [9 f6 R2 r7 M
}- Q) [5 X) {4 {8 N, }& \ j
}6 O. b3 [2 Q6 f1 l; F) D2 C7 n
, Z. l0 v5 L" \+ {) v1 Z8 U0 x
}
- |7 B- G! P( o: B) z: z7 e4 m" ?6 a+ a+ O
function getRGB(colorString)
& d2 u8 o) d# l3 f r8 A4 l{
7 q" ^; {# q3 V Y+ t+ D' i var RGB = new Array;
! j' D7 C/ _4 y) ?- S! x8 J var tempSting=colorString.substring(4,colorString.length-1);+ y, _: k% ~, }2 d& ~( h
var tempArray=tempSting.split(","); Q" u1 @% n U% ]1 W4 \$ \
1 J3 C' ?! R* C, O7 V( \% O% i C
RGB[0]=parseInt(tempArray[0]);
- C' T1 M! m$ @6 _6 H RGB[1]=parseInt(tempArray[1]);
* p! p. C% K! r: V( g RGB[2]=parseInt(tempArray[2]);
% U' E* p" E4 y7 ~, ]& O) c7 B) _
" _- W) ~3 x5 r/ R6 l" J9 m: f return RGB;
@: G, V& I, g1 [9 e! c/ z}
* w1 Z# @0 g, p3 N0 t9 yfunction keys(evt)
& b* c& C) I" r& i/ V: N {
4 j' E( d' ^* [1 U if(evt.ctrlKey && evt.keyCode=="81") . \, [( Y, p' A" r( t5 _1 w
{ ' \: p b# D2 a% v
CleanHideObj.on(0,1);- d0 W' s: Q- \4 M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( P4 K% I2 w! K: k- z+ v1 a9 \6 ~
R8 x9 m: i3 w } ( N4 q6 @7 ~1 [* t
} ' C+ G1 h; M# c* m. o: s6 L
document.addEventListener('keydown', keys, false);
: G4 C; v. I+ K' Q" O3 g( xGM_registerMenuCommand ('Clean Hide',
+ ]/ H& a4 B5 Bfunction(e){
+ F1 b* g$ J8 Z, N6 U: X2 O. t1 J. \CleanHideObj.on(0,1)
. z3 K6 G1 K0 k+ ^alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; s+ \( ~, j$ _3 O/ k7 k});6 y! F' e0 D9 Y: w% m" r. C- o
|
评分
-
查看全部评分
|