|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 x$ [2 X% M5 z+ v
4 a% M- |+ `% l2 o/ L7 o火狐插件,用猴子
. V( x' q* t+ v3 k" k
& q, S: y+ z+ c/ T" f. Cvar debug=false;
. q2 A. t E5 xvar CleanHideObj=new CleanHideClass();
8 F/ k# ~. c: v; \
) q) |, `# x# D& ] cfunction CleanHideClass() 1 {# c' X- k" V* s: s2 ^5 H
{
' k3 |: S- l% F0 k4 e1 O
0 f3 S7 f' B% |- O7 a6 _ this.on=function(id,bMZ)% \5 V# ^9 M0 ~6 t1 u
{
4 @4 q( y7 }, D! N/ n' {9 w- a 5 j' D; r) w" s% K, R( d& }
if(id == 0)4 c8 S! D# n$ i3 Q& {: |, J
{% P) N/ B7 R8 b$ ~) ~
var page=/* document.getElementById("content").contentDocument */document; 0 S9 {; e0 }0 x" a
this.RemoveHide(page,"span");6 K$ `* @6 h6 }6 r
this.RemoveHide(page,"font");
1 H" T) E" W. O* }9 _ this.RemoveHide(page,"div");. q7 y- c3 x( |
this.RemoveHide(page,"p");
& t n0 C- X" H4 ^: Z; X; w2 v
( _+ ?# H( M/ B( g" E5 G }' p" v* S( v6 p4 X2 K5 z
1 \& Q1 ]; }/ M* l5 ? }
8 I+ X1 S8 J: h: K1 n s( R0 l this.getobjstyle=function(node,prop)
V" f, t$ t2 M( u) B) \% J! ]$ z {- K/ R, ]. ?! s+ q6 c! }
try. R% Z. J- X2 h4 N
{) l0 F, N( ] q( t
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ u- a4 q( f6 j% l
}
, r7 i+ I5 Y. ?3 K, i! h* q# ^3 C catch(e)
4 t1 C8 [5 L. ?3 T {! ^ S; g6 E8 Z9 X' u4 {/ P+ ]
if(debug)" A) D; D, l0 F8 M* p4 E
{
0 Y @7 @* i$ H# g: F5 W9 A alert(e.message);
5 y! s, K) v6 }6 m }
+ D- C( n, {& M
% C5 g! O+ i; e7 P# z8 K return "200";
$ E9 \3 E9 a/ t$ t6 i0 K# K& G }
1 i9 x3 A- [' W2 y3 [ }2 m& _+ k' M" O+ y/ _
4 I' P% Y3 q7 ~9 T% b! _ this.RemoveHide=function(page,objname): I( A `' ^) C/ I
{
& o& v8 x5 _& ] try
. H& h4 f. |; ]* A {
" h# ^% j8 _( |$ h* S var minValue=15;, g4 E/ ^2 C! @" q& G: A, \
var objs=page.getElementsByTagName(objname);
" w* y [% [ P P6 S' i4 L7 Y7 Y( Z4 }0 F7 [" F5 h
if(objs.length == 0)
% d$ v5 J) ~% D: x; m. @6 p1 R+ B& m5 m {
3 p! m2 f9 t, T7 Y) I! B# g9 T, ~ if(debug)# k- D$ B! ?# R) s- O- P) e
{3 r4 Y. z2 t% k9 Q4 R' n
alert("no object found!:"+objname);- i: q3 V) b4 s5 u% O
}2 o0 v# M/ N6 |0 N, |: b
}( f$ _, S. N9 u
else6 T1 ~7 N! g1 w4 `8 c
{
" ]: D$ }/ V9 `+ S % {) a: l1 {- A% ~
for(var i=objs.length-1;i>=0;i--) / X8 K; E. Q" M4 X
{
0 |! @) u+ s9 B* Z- w/ { var node=objs.item(i); 3 s2 W- K0 d) j8 @
9 u$ i2 b0 l& a2 A# Y$ p* d
: K6 `: ]5 @ b if(this.getobjstyle(node,"display") == "none" ||
" E4 v4 ?" |; u! {) w this.getobjstyle(node,"visibility") =="hidden" ||7 G! S- ~& L% M M
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 O9 k3 C- Y0 x" R5 @' f8 M
{4 F' ~$ Q1 ?8 W a+ M
if(debug)
/ y& j- n" h& `6 n* j1 q6 y {' U: B" Y- k" ^
alert("remove invisiable!");
$ Q& h5 r6 F. J" ^5 q+ G# P2 P: R }
$ q! L. J7 C: F: d0 W- _+ h node.parentNode.removeChild(node);; g- ]& h( u- C' q4 M& f1 C5 N
7 @8 E" s" X' a* P0 F
}
0 W* G, E: ~' r* S else
l# v0 a, |5 u& P7 ?. ^ {
, f4 j- k8 S6 ?- ? if(node.parentNode)
- h" R6 }: |' d1 [ ]4 U* H6 j/ p {, C: Q# z! `0 L7 d) A
var orgNode=node;/ l9 J$ d% q* |
var orgColor=this.getobjstyle(orgNode,"color")8 ?6 r' V+ g. A0 R; O- X
var orgRGB=getRGB(orgColor); ( F! f( K# [. |# U1 M1 Z$ M0 y# v
1 t2 i2 \7 q @& P. {6 I var parentNode=node.parentNode
. P0 B9 `6 ~0 o8 e+ w; M/ x' V' _ var parentBgColor=this.getobjstyle(parentNode,"background-color");4 B$ C9 M! ~ b% m8 G
* o( }: P6 P o N$ G; @/ ]% q var isLast=false;$ Z. j, n, K; @1 [3 Y
( t$ K0 n3 E3 a2 n) ^8 [
while(parentBgColor == "transparent")
* U% R7 d: K6 o& b& ` {# }8 s0 n9 r( k3 V, K
' I) c3 c n/ H& \$ T) I . u ]1 o; u0 v0 B6 e
if(parentNode.parentNode == null)1 E& H1 H( v+ K. i. A
{: `/ j3 o- ~' X
isLast=true;
4 S5 ^, T. x6 Q/ z+ ?$ z break;
# A3 i: J3 l" P% N% ^# n }5 _6 X1 V% }5 q3 V- x' M! n3 y
parentNode=parentNode.parentNode;
' E% m9 w" k) M/ g! m parentBgColor=this.getobjstyle(parentNode,"background-color");% [7 z" P6 P3 Q {- S
% | `! r/ V/ m2 j! y8 ~
if(parentBgColor != "transparent") ' V4 ]) h& x# b# M5 t& k. N
{/ ^& T, ~4 Q1 b' ]8 R* X
break;5 r9 S- {9 }: d* h2 J2 g9 w. _/ O
}+ g" C) V9 W5 t/ U; w
}5 b/ O) n& Z" X; ?1 J5 l
if(isLast) . f, G+ N% w6 C$ ?% i) _2 l
{! k# N7 L# O4 n1 _, C
if(debug)& |9 i1 T: ^& e2 R9 H
{8 a8 S# ~2 R+ }! m% U
alert("last!!");
3 K0 ?: ?' V! j, z) _! s6 J }2 h9 s N6 ?/ X4 ?0 A: N) w1 E! q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); o* Y [$ F0 }, W2 q0 f$ {
{6 F) p3 i1 f5 h) |% X3 O
orgNode.parentNode.removeChild(orgNode);
2 W. P# u: @& G! M8 I }! N7 K7 m8 O. @7 e. B. O7 ^
}3 U! z* N2 O% q, o
else
% J6 t5 D6 y, x% o {
/ P( Z* e, { s; Y# _0 d- Q/ u- n if(debug)+ W5 J8 I7 v5 ~4 w
{; n" D! F- l* z- h r$ X
alert("compare color and parent bgcolor!");
: F2 n2 Z2 y6 h* X* E }
! g+ \: Z8 U* i( [, C" r" t parentBgRGB=getRGB(parentBgColor);" U* B4 F2 j$ [. g& _( D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) {- d# a* ?6 ?: \) @. \, e8 _
{3 M, \/ U, ^/ t u$ q
orgNode.parentNode.removeChild(orgNode); " Q) g! Z6 P( x& U& R- Q* M
}
& |0 H, U2 z$ S+ k: b6 U0 b }/ @7 {: ]: n k }' v( R
}0 s! h! D+ ?7 I: {3 I
}' W; f, K: r; \; c
}: t+ g5 }- I# t$ M g
}% ^0 ~5 W8 [/ ^& V2 j
0 |8 s; p% O! k
/ S5 b! H$ _3 p" x# r# E& U/ X1 `
var itemFrames = page.getElementsByTagName("frame");* S' Y; F, l6 e! H5 B
var itemiFrames = page.getElementsByTagName("iframe");: }3 P2 Q" o0 o' m. d$ w
+ d) B7 |2 r" E! f! A4 ]) \4 { var frame, iframe;
0 ~" |& y4 \1 V# O& E2 g if (itemFrames.length > 0)
9 R2 O' K# p$ S: H8 z( K) [- u {( C2 o5 I+ G' J; ^
for (var i = 0 ; i< itemFrames.length ; i++) 1 d; t( z- t9 u* v& B& t6 d
{
% m4 M L5 w# e1 v. W frame = itemFrames.contentDocument;. M- A1 p: V* F0 H
this.RemoveHide(frame,objname); * V: Z/ a0 ]2 D H; z6 D) J. j
} L8 t4 A5 D% g: U4 I6 k
}
* W) V& d9 U N& ]1 Q3 c if (itemiFrames.length > 0). ~3 D4 w; b1 ^% _! J
{
* T2 \& e/ L6 e: `( i( r for (var i = 0 ; i < itemiFrames.length ; i++) ) ?; h' n2 f" i" F" @
{. `; I9 n+ o3 e( P- h6 U2 M
iframe = itemiFrames.contentDocument;
$ F S8 V2 h) {+ l2 z this.RemoveHide(iframe,objname); ! I% u( Y- d( u8 l5 ?
}5 d1 w7 a B/ V* \- j) ~/ y. ~
}9 J) n5 }. \8 `" E) D3 O6 I4 ]* l
}# g% L+ b) n' o1 \7 M
catch(e)& L2 a& W1 M& o4 }9 B1 k
{( t/ Z( y( o% T/ Y! o: T
if(debug)
: v3 o# Y* A- S& j' O) V, F {
. b6 q8 ^6 [! W+ c' l; ^ alert(e.message);
! {, N5 h5 y6 q7 Y6 F/ \ }# J2 Z) ]' G, ]! W4 I) N; M
}
4 [# h( S M2 o- T$ w }
) x2 [- K/ Z# `1 Z+ e, k3 g3 Z
S" |1 G. f) O$ q1 e/ ?, ?" R6 ?}( u+ K* J9 C, b
% E7 f+ A5 j( j- j' h
function getRGB(colorString)2 o5 L, {5 g m$ K* [! s2 [
{( t1 t% D$ Y4 k8 _9 K# U
var RGB = new Array;
L2 V' h3 N8 O5 z9 X var tempSting=colorString.substring(4,colorString.length-1);4 X1 {; U8 b; J2 ]3 a
var tempArray=tempSting.split(",");7 n4 Y( p$ I. F
: c$ x2 q& q* A RGB[0]=parseInt(tempArray[0]);% y/ z; I7 }4 o0 S: Q
RGB[1]=parseInt(tempArray[1]);
$ N7 A# I0 v* `4 j2 Y* b$ Y9 u RGB[2]=parseInt(tempArray[2]);8 S: N9 z T% @2 a# ~& _& D1 [
5 J4 E; A7 O2 u) p return RGB;
% i/ H1 t2 t: h6 f% T9 z$ P}
' i( a8 @- S( O1 Y- L# |$ S- d: Q' ]function keys(evt) 7 Y7 t3 D u1 r. z3 [3 N* l
{
! S8 n; c! v$ e* b if(evt.ctrlKey && evt.keyCode=="81")
. s3 L" f( N+ _# Z { ( I6 H% T2 W0 e
CleanHideObj.on(0,1);
* Z. T: P% F4 G alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' [) `8 {6 Q& i! V+ L
& I2 j1 C3 x& S# `- P) P2 z0 K
}
1 Q1 H* [7 d; G% j } 0 Q& m- O$ b/ _
document.addEventListener('keydown', keys, false);
4 l" V5 k) l5 c5 O6 ?7 c0 f# OGM_registerMenuCommand ('Clean Hide'," t. F1 _, E" |) D
function(e){
9 T9 S' u( P$ O2 ~% r# iCleanHideObj.on(0,1)
0 e& a7 o3 V8 e3 X9 M6 Q8 n4 palert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, J9 |# ^% i% M1 P+ \' Q3 V f0 s
});* K* f. @% D# S" A1 g# R6 E
|
评分
-
查看全部评分
|