|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * x! R6 ^' N: |! A* G
, z `* f* u. Q- \; d R火狐插件,用猴子
7 E4 d8 f% N2 |* @+ `3 e$ ^* {3 o/ t( y! `8 v; R% Q
var debug=false;
% S* y: V5 p, b1 yvar CleanHideObj=new CleanHideClass();
' j0 m3 E5 X( O! _6 A' D0 M7 k, q0 A' W. V- [' U9 ^% ^
function CleanHideClass()
/ q( \7 w/ ~' @9 ~! v{ / U% s3 L- R6 ]9 V9 C. L/ E( _
3 D* U1 p7 |* I9 i; n1 b* o
this.on=function(id,bMZ)
0 E& c7 C, S) z8 h3 A- n6 i$ F {$ M' Z7 O5 h: f7 ~2 [
' k- @' @1 D6 f6 ]3 h& T
if(id == 0)
, y% h- j$ r4 r { C: @" }7 N7 Q2 ]
var page=/* document.getElementById("content").contentDocument */document; ; k2 [$ y: w, z8 }+ J& a3 Z3 _
this.RemoveHide(page,"span");
; k0 j6 h8 r6 m7 r& Q$ v- Z this.RemoveHide(page,"font");/ l) f1 p- I* t* E" E( h1 [
this.RemoveHide(page,"div");* e. h) \5 E. l N" F
this.RemoveHide(page,"p");
; q/ E4 F. t( ] ) N- ~6 T/ {/ Y p/ C
}9 e* y" |: w) X# l
5 X4 q5 A T! H. R+ Z, Z4 z/ z }- [3 t, g0 ~; T
this.getobjstyle=function(node,prop)
/ e0 g5 T: |3 Q. H2 C/ J {* _4 {9 ?0 j) j5 t4 s
try0 ^5 L2 _8 c l, N
{
* [2 S+ I$ Y" M* X3 k* d4 o0 F3 N* a return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' V* H$ N0 _8 f& |* f4 c. v }
( z5 d8 t7 q5 _% y3 A catch(e)
: E6 a B1 x* ^' b( Y& z1 ] {
9 \. \) y: ^5 l+ @: t5 b2 | if(debug)$ L# @. Y7 D3 }; l+ \
{3 k$ P. K8 x; D7 T8 d3 C1 q# m
alert(e.message);
$ ^2 f6 e, S$ A( V! o' G }
7 Q. _4 j( q8 y7 H k s, f# C; G% Y% o* x( o, D
return "200";! h6 `9 n1 |. i" E! q* G$ `
}
% S! Q- P i2 [( O }4 E$ H6 Z; v% q7 X( }* M/ u
- f: s: J6 h9 |) C" y. c! t% i- I this.RemoveHide=function(page,objname)& q9 `( F9 C0 o( j
{
6 {/ \8 |. z2 W/ I! f# U try
5 O3 V2 Q J+ f0 Q0 j {( D1 Q% t, Q2 e0 Q- v
var minValue=15;3 p( Z- P1 z, p2 v' v( e# b
var objs=page.getElementsByTagName(objname);
0 c% r/ e" w( |) ~2 ~6 z1 @8 h" \5 L. o7 O& n
if(objs.length == 0)
+ O* D" {; L* ^( k3 u f3 ] {
* p6 w5 f! D2 t if(debug)8 ~- U" g/ F. b2 h3 j. Y
{
8 O' K# Q8 z: }( F0 Q9 F v6 W5 i alert("no object found!:"+objname);
0 \- \8 E: |8 b7 t* n+ ~* _" L } X. F+ l4 o* o# L
}, z8 J4 D! V3 r8 H) V, ]7 _4 d. u
else
, s( K0 x7 K+ j1 j {
' D2 Q4 i. e4 l 4 p- a+ Q7 z6 }6 c" S; r9 _0 D
for(var i=objs.length-1;i>=0;i--) ( I6 ~" q l5 C) q4 a) q" r
{
; A4 H! X3 L8 M. g: V var node=objs.item(i); z" f9 @6 F9 u& j
7 u' ^, j! Y& v7 o( k* M
4 o' H; u) B6 P( ?/ ~1 x; J6 @% j
if(this.getobjstyle(node,"display") == "none" ||
, [ J$ `/ C) I( E% N3 w0 ` this.getobjstyle(node,"visibility") =="hidden" ||0 o' _ _' K: g; @) j# j) J v
parseInt(this.getobjstyle(node,"font-size")) == 0) ( T5 \1 i0 F, u7 T' o
{. r% U2 o$ \ ]- ^7 U
if(debug)
1 v5 R& O" |: b! R {
; r- y- L% ?$ @2 | alert("remove invisiable!");
' n G4 t3 K0 E* E }
, H- E" \- ^& s5 n0 P# O8 O node.parentNode.removeChild(node);; S9 ?6 z' Q! {1 \% w! k# S6 ^5 |
+ o3 N5 H; n, Y" d
}$ Y" p; q: j2 `( m) i W5 Z
else
' r# g2 |6 D3 M8 G* d m {7 {; C& ^4 Z0 y
if(node.parentNode) ! |8 q% w, o8 _+ b% `$ l% ]& m
{. C8 M/ s5 `" x0 b
var orgNode=node;
/ ]6 T+ S( S- O( g. N2 N var orgColor=this.getobjstyle(orgNode,"color")
: X f. } w; j' C0 r var orgRGB=getRGB(orgColor);
+ f/ l2 S$ j0 z; k, G 6 ~0 ?9 p" ~7 y6 }- N
var parentNode=node.parentNode1 D! W/ S2 p! G2 Q, Y
var parentBgColor=this.getobjstyle(parentNode,"background-color");
P9 [ M l$ Q
8 O) t2 n u. X var isLast=false;
5 J5 }4 e9 [+ A; g* [2 H: P ; j4 K/ P+ m k3 `, F5 _: X% U9 Y$ F
while(parentBgColor == "transparent")
1 W. u' ]1 }/ D {
5 H& M7 p9 }+ f+ J8 }+ l- C; a# Q 3 J" K8 e7 a; b8 ]" `
- g9 q4 P; K7 {8 Z" ^4 | if(parentNode.parentNode == null)
3 }7 m0 w. N/ ^1 u# u {+ j: i+ s. |( _) r+ c4 t3 |
isLast=true;4 J4 @1 X* g6 l: s7 k/ h9 E1 t; N
break;
- f/ [5 o. F/ g. N4 L }: ], Q" Z q) m0 p/ O% {0 l
parentNode=parentNode.parentNode;
# s' w6 u* D* m$ |- Z5 b q" n! k) [ parentBgColor=this.getobjstyle(parentNode,"background-color");1 B2 @! ~1 V, C/ I
4 s& T; S: Z5 @, I# I) d8 m
if(parentBgColor != "transparent")
0 \. i0 s# d t& B6 b8 C {9 A5 e" R6 B8 F# x, t
break;
/ w+ s2 ?; [5 i; h }3 p/ e* ~0 _4 b
}
) g U% Z9 s6 [ G if(isLast)
+ ^' K$ I# `, o# }, Y" Q( |$ W {
- ~; ~' ?: Z0 n0 n7 l& o4 F; S" p5 D if(debug)8 F/ V. }1 z. K' `8 M, K
{
4 K7 {( k* z) L0 z& f alert("last!!");
* E2 ?, t/ u2 J. b, e }
* p; l# ~7 ?* x" j) E if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- J% V. f' x, |2 [
{
$ }3 p9 u9 H0 w orgNode.parentNode.removeChild(orgNode); " b s; i& ^0 t( d
}
" }0 D( M$ h F2 L" @6 G1 s }: x) _- E( a5 J, K# T# T. @! N
else
' |: Y! ]7 R5 [. k$ j2 D( S% m3 M5 |" H {
1 S# b& i M& b" m if(debug)
9 W& Z/ B$ [/ q2 X0 g {0 J5 u3 m1 U5 i$ O9 K
alert("compare color and parent bgcolor!");
5 y( B# Q/ G/ i0 A5 \+ Q }+ l: z1 l* y- t( ]; U' Y) ]
parentBgRGB=getRGB(parentBgColor);' P9 R! a9 U$ w" A5 ~6 H
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ |% ^6 z+ Q0 W2 N: X3 e' g. n {
8 ?" u$ N5 A2 n/ F2 y. f orgNode.parentNode.removeChild(orgNode);
# }) t% z4 O8 G ?) p }
9 K: p$ J1 V( b' t, b* p% i }) T5 ?. i7 W' \' t
}
: o" ^+ o% F: O# S7 f2 } }
: o) ?9 |5 d: }* Q8 `' c% D5 X" } }, `5 `5 O l5 H+ m+ B2 W2 S
}
# `/ g! q( V- V7 a$ { * l8 L# D, u2 t( y! W$ h( q
, Z2 A: P+ l2 k' p1 t0 K* c var itemFrames = page.getElementsByTagName("frame");
2 J/ B# Y3 n4 m& B- C var itemiFrames = page.getElementsByTagName("iframe");
2 I) L f+ ?# |0 J2 ]6 ~1 Q
" w3 }6 N' ?, B! g, R; X( {) @ var frame, iframe;
' `1 B* H+ n( j I7 L" w if (itemFrames.length > 0)3 @3 F; ]2 [1 ?! w+ e- _
{& T" A1 ]. z0 k7 P, S2 x
for (var i = 0 ; i< itemFrames.length ; i++)
2 S. K; [* {5 g5 z/ S; P {
2 E9 h$ _# i9 Y+ x. @/ i frame = itemFrames.contentDocument;
* J, V( M% x5 i this.RemoveHide(frame,objname);
L& i! d1 B4 x0 h }
4 s- F! ^+ a5 z G6 r5 Q }
( D% r4 X3 z% @4 B+ b if (itemiFrames.length > 0)
# h; a( R& w$ P- w3 U# L {( u: W, S8 N3 L& z2 Q$ w
for (var i = 0 ; i < itemiFrames.length ; i++)
7 E% @6 K: w5 S5 c# V {
* S* w) P, I0 I iframe = itemiFrames.contentDocument;5 [* ^2 T7 G$ w/ u3 h
this.RemoveHide(iframe,objname);
7 e* `# d$ w1 D: m: x }
. o9 S1 l7 q' w. d }
1 I: y/ c T# t) y6 c: y: h: M }
2 O$ j) T! S5 ^ catch(e)& ~. p' y# i7 R+ u9 l. a- H
{
: A' S! }: E: c$ g0 \ if(debug)
2 }6 r1 B+ t- u9 J } ?+ g2 } {
3 {3 M5 J2 e: M' s alert(e.message);
$ a6 u ^* [: \" j7 e7 i }: |! a/ {" @" I$ [- V2 ~
}
& k6 P# I. o2 L- \* p }
1 D- W E4 l, O/ D( h7 D 9 \' y# {3 F0 k9 u4 U/ Z2 P
}
. F k/ r* ?* S$ F; K n( J- k9 o8 w
function getRGB(colorString): Z7 z3 F" {# W9 t$ E
{
' ~5 s) G4 X7 R. j9 [. b* Y var RGB = new Array;
3 O! S; h& o- D' J3 O0 B8 S var tempSting=colorString.substring(4,colorString.length-1);3 b( O4 ^0 t, C' V- h7 K0 ]5 M4 Y
var tempArray=tempSting.split(",");
; I7 `+ k$ Q! s& n! }/ u- \8 a, X9 R, }$ j7 [! s$ }& C
RGB[0]=parseInt(tempArray[0]);
/ `; {2 x! v) L$ d6 ] RGB[1]=parseInt(tempArray[1]);
/ [7 h. R. p, i3 A RGB[2]=parseInt(tempArray[2]);; v- t" u# e) C# e
/ _8 h/ I$ Y& v: z/ M return RGB;, P% ^( n0 r, x# C- N9 O
}- t$ [8 |( |! ]$ G% ?+ [
function keys(evt) % m& f+ k+ L2 i% ] p7 r
{ W+ H- W- `- k, m1 @
if(evt.ctrlKey && evt.keyCode=="81") 1 S3 o" j& B' `+ C% m
{
, K8 V* Z: u9 g. c! K4 ~ CleanHideObj.on(0,1);
5 I0 @$ F# y! `. R% `0 J c3 ? alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( l7 d) \% e- y/ [
s6 `* T0 T# i t# U! @( a
} 0 L& L0 [8 v5 V: I" w% o
}
$ e( {) b' s y2 R; y9 Y( @document.addEventListener('keydown', keys, false);
4 v" ~' Y0 o; j4 a7 U# Y" BGM_registerMenuCommand ('Clean Hide',+ x) I% x- U/ X
function(e){9 c% [) G C8 b" k
CleanHideObj.on(0,1)
; ~' T& \$ ~0 s W% `, jalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& ?4 T" z# e( M! i. e});4 H3 V9 {6 d' D0 c9 O, H
|
评分
-
查看全部评分
|