|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! E/ A& `* r. H" `0 @5 V
7 I: S5 ?& p; ^5 L
火狐插件,用猴子
6 w }4 q8 v3 [% W' L3 s
0 S0 M: S2 g( |( `6 m$ Mvar debug=false; 4 }1 \3 g7 x! P( a \) j& z
var CleanHideObj=new CleanHideClass();
$ f, W2 l9 h. `# h& [- m$ _6 P
+ d9 |; ^# c* I0 u9 ifunction CleanHideClass()
2 K1 d: |! g) X& v# j' b! c. U8 C{
% C# S4 e" w# l 0 e& T! J- q: L0 h7 s
this.on=function(id,bMZ)8 g. |1 t# K9 u- S' E! N9 ~0 r* D1 V
{
$ x0 J& Y$ A/ y: l' d( }! t
& @1 u- F1 ?, a7 U' A if(id == 0)& {' |0 v- V: Y: H
{
7 K3 g/ D, Z* S8 G9 R) a var page=/* document.getElementById("content").contentDocument */document; 5 W Q+ D8 g9 a
this.RemoveHide(page,"span");
7 n) o3 B4 B! i5 E0 H# G) P0 [ this.RemoveHide(page,"font");5 x" ]1 X. N3 A
this.RemoveHide(page,"div");
! }7 R) y5 ]. S4 C% | this.RemoveHide(page,"p");" \& s/ O* j0 [) d2 w
0 h+ n7 `: c+ O5 m$ g) { }
/ d9 D' G a8 Q% w
( @; Z0 n- `- d9 e! X }# u3 C3 j' }9 C5 k! _
this.getobjstyle=function(node,prop)
; F9 p* E% s, q& F6 M- | {
* `0 u( h6 H& M try
" F2 n7 n% \) Z4 r, @ {
- @* {1 u( F$ W7 ]; b3 D return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);4 H7 s4 S" l4 V, H3 n& J6 s. x
}( f- u: J/ z2 |' S* ?
catch(e)
# N8 c' \3 o( p5 h {
3 q( d" H3 B n- e7 q. L/ p if(debug): Y8 y% p7 a9 t5 ]+ { M) m( U# @# p
{, F# z4 @8 O# v! z% v
alert(e.message);& _2 c" P1 C, I0 b
}# ^) B& c4 m, b8 V
2 v/ E2 U! m# e$ u9 ] return "200";
) ]; y0 ? ~, H" [% N8 ^ }, Y% H" _ C* l0 g: Z0 ^% G4 f, C q6 e
}
i7 A& Z* d1 g/ d2 n7 z9 H
# W; r9 Y5 P( l* {/ l' ^- Z3 s; u this.RemoveHide=function(page,objname)! X6 A0 K& y4 |2 K' L$ A% _$ [ f, i% a
{
7 H; U! J' Y( f4 |5 [ try' \7 j* s& J k1 d; i' B7 O5 l+ h
{4 l; P( q, Q8 f
var minValue=15;
2 T |# T8 ~. n4 D# a* x4 ^0 l: `/ B var objs=page.getElementsByTagName(objname);
% E" f/ r) {6 R7 j* C/ _2 U9 B2 i% _/ s
if(objs.length == 0)
! g. E. s8 m( k( J7 a* E {
2 R/ i; C4 U2 y! ]: U# d" ^1 [) H( Z if(debug)2 |6 J* f1 I. F* X
{
; |. H% [3 k# G alert("no object found!:"+objname);6 ?: [. X9 }# a
}4 D3 d+ ^- {; { O2 ?/ N
}
% r i T$ f. i6 F4 v* o else
# A( M% ?# r: ]. } {
7 j O+ R2 H* Z* { q
& G/ i) y3 e4 [* v4 h5 B for(var i=objs.length-1;i>=0;i--)
' D/ z& V: x# |) N5 l) l8 O: y V {
% c& e/ \; P5 n$ Q2 H) o var node=objs.item(i);
+ l5 A' e% r' z" L/ u
8 H% a$ O6 O$ ^" U0 G7 m
2 ^6 f/ }& A6 l1 N% ]& I k: {# `1 t if(this.getobjstyle(node,"display") == "none" ||+ i% w0 S/ o7 `" P: C {
this.getobjstyle(node,"visibility") =="hidden" ||8 T8 J% F- Z8 T7 d a
parseInt(this.getobjstyle(node,"font-size")) == 0) ; B( g; F6 ^/ J& D) l b0 q" Z" }
{
" S6 s e' H4 s& B2 g if(debug)
+ `/ P8 q( L8 W2 j P {% x" G1 N5 N8 \# H* a9 s9 m
alert("remove invisiable!");8 I; f9 @2 L- m' t2 E
}2 `, k* d2 \; W2 O3 I& e( T! E
node.parentNode.removeChild(node);
6 X0 g8 ?) N) h& X* F: Q
- g: \, }. B# S: q- |+ t! q }: z" r! h, I) f3 J k, R
else
4 f! j: F6 l: x$ ~8 U ~! o {- e! [8 p3 @8 P3 b( j& S7 h( H4 \
if(node.parentNode) 2 H- G% V1 E' |& W1 j+ ~
{; l |7 O4 f8 c3 \6 z
var orgNode=node;
, [ ]& S% d; m: T0 O9 K3 d var orgColor=this.getobjstyle(orgNode,"color") S6 o! F3 K, P3 D
var orgRGB=getRGB(orgColor);
. q3 i; C. G' u& o 4 M7 v; H9 y- k- P: q' { ?
var parentNode=node.parentNode
1 X# H7 w+ o8 e. |1 p; A var parentBgColor=this.getobjstyle(parentNode,"background-color");; o- n @% N6 t- c: [
6 M3 Z* q; k0 ]/ X$ ?+ f# C3 ^/ ` var isLast=false;5 }. V# _: |6 n$ w/ u3 N& U2 N
( k' V' z- {( p- B2 \
while(parentBgColor == "transparent")
6 L8 d8 p! x* t# Q {( }7 B6 ]+ M( `8 Q8 b0 `# v/ c( P
$ n7 e# L) S9 e1 S3 z0 m
, L4 K8 Z( F4 j: ?( a) z8 o9 K if(parentNode.parentNode == null)# v* N1 b# v9 Z
{* _4 s9 z& o: A! Q! W, l
isLast=true;$ ^' Q" }4 |7 Y6 c# Z% j
break;
8 `# [4 A! E" C3 ] }
* X! k2 }0 W+ S& ]1 ? parentNode=parentNode.parentNode;
7 B/ e. l0 A& J parentBgColor=this.getobjstyle(parentNode,"background-color");
& N2 n" p, e( E0 {" z5 q! i4 g! S
6 J3 ~# g y" C7 W- g: `! u; v$ v if(parentBgColor != "transparent")
7 n! [1 }, a8 N4 w {# [1 p3 `% F4 Z! \
break;1 Y( T; J3 M0 S
}& x+ o( k+ F% ~0 ^- {3 _
}1 Y" K' b0 `, P# r5 a- d! F; ~" o5 A
if(isLast) - i0 f- A% x: \8 V$ K
{
$ |- Q9 L# T% {; \# O: X if(debug)
" B: M5 X, Q5 x- z! h {
, y2 i9 V" }2 C; { alert("last!!");
& Z' z8 {% ^$ v* w }5 D4 `2 N4 U6 M0 ]9 g4 @
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))# W+ S3 {$ e; C+ Y! w
{
7 O& j: a9 t' [( ~' l$ x orgNode.parentNode.removeChild(orgNode); ; [$ M4 e6 N) R; z
}
/ K( i5 ~; h# T: W! E1 z6 J }
1 D) v s. D8 o; E- B% O7 x6 \ else, I' Y ?) T3 K: r" S
{
$ P: {- b: G0 a5 u if(debug)8 l' z1 Q( c7 X1 Z3 _+ l
{
: u3 e1 x( V( O: h' U8 E alert("compare color and parent bgcolor!");
8 t% O1 S. n* x; t }
I q5 e5 T: j8 ~* s7 g parentBgRGB=getRGB(parentBgColor);
. r. }- j/ N# p+ ?4 ]# e if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. P% b$ }8 @: w# {) ], F3 X' d" M {! ^3 M6 Q' O: z( T* | g4 [+ D V
orgNode.parentNode.removeChild(orgNode); 4 C" O# @* w! o; [0 U
}, s: m4 y* A q7 D8 ^& K$ x1 L
}! X0 H( f; l, \2 l: f% W7 ^
}$ _7 y4 B w0 t2 M$ n
} F' a( M( q$ l
}
6 w/ r) A6 Z# A" _ }9 v+ m3 R7 R/ l" C1 J. |
/ t W. o+ D r/ Y3 L% S. L
5 l( O8 O N* W5 A3 Q3 O& Z: W9 p var itemFrames = page.getElementsByTagName("frame");. C% i# K7 C% c
var itemiFrames = page.getElementsByTagName("iframe");
e( ?$ v8 a- f 6 c; W# N: ^# z# A$ `) ^8 d' s
var frame, iframe;
; f- p7 Z& x7 F9 [' X7 l if (itemFrames.length > 0)
/ B' T% K/ G4 o6 O {/ x, n2 a8 B6 n/ S( k0 e
for (var i = 0 ; i< itemFrames.length ; i++)
; `" ]# i; F. ~* ] {
8 h3 o w" x) r$ M frame = itemFrames.contentDocument;
( k9 T% X% G8 t0 F- `9 A this.RemoveHide(frame,objname); 0 ]1 W' k' i- v$ {2 P4 X- W" s$ X
}
2 {5 I3 v* L r: C3 M }& o; n: e1 Q& q [9 {+ X' O
if (itemiFrames.length > 0)
9 M: v/ K2 t; x- Q. f {
' N8 n! Q, e+ F' _2 M+ } for (var i = 0 ; i < itemiFrames.length ; i++)
# p* l% `9 ?& Q4 b _2 M9 Y {: }1 W( i* s6 ?+ G6 Y
iframe = itemiFrames.contentDocument;+ \2 U9 X% p1 [. C" `- i& F
this.RemoveHide(iframe,objname); 0 i6 P$ H; ?, N1 |
}
( d7 {+ {- E( A3 O& R; k8 y* S! Z) V }1 O+ L/ O* u' H# D5 d2 K- \
}
% x& a! j+ j# u/ b) n catch(e)( ]) b; c, B6 [$ ^) t! L+ P
{
( k8 e7 Q5 c A. H0 u& J3 F2 ? if(debug)
4 ]" s, z2 [" |: O$ j { ^& Y2 K( t; g9 C1 ~! Q
alert(e.message);% c" H! C( n: |
}+ K# W4 h5 M8 J0 t) B) o
}
1 S( H0 x: `7 d7 p2 H1 S } k# Z. F' v# f4 R" J/ a2 v7 O# x
! {+ m% U9 _; B' [' h}
2 S4 E+ h8 @1 }# H1 S1 Q$ f/ x8 G6 {" x6 I/ O2 _7 K; U# u
function getRGB(colorString)9 f4 O7 L4 r7 Y1 M+ `8 e( o% ~
{
& G9 q! A0 N8 \' L3 j! m var RGB = new Array;
! I) U# T* c J C4 ^ var tempSting=colorString.substring(4,colorString.length-1);+ ]$ Y& Q( n: q' ^1 `* s. Z4 f
var tempArray=tempSting.split(",");
" r# M( e. {3 O# K5 ~/ @7 G3 X8 B# e+ D
RGB[0]=parseInt(tempArray[0]);* [/ s9 o; t% C! h. A- c
RGB[1]=parseInt(tempArray[1]);: [2 K4 u' }5 ^+ M; ?: ^) U8 S
RGB[2]=parseInt(tempArray[2]);
2 I( F: _+ p; p- A, p
5 s3 p, ?7 F# q' f& V- j return RGB;
& H5 |+ F E$ D5 e: o) l, u" y. T9 J1 f}. u) n6 k) Q7 M. n4 K' L
function keys(evt) & }2 O: d" T, }: v% l
{ % X2 a% y+ ?' i3 ^) {- r
if(evt.ctrlKey && evt.keyCode=="81") 8 O4 l6 I% N4 I/ j
{
# O( }& i5 b r6 @6 v t9 X CleanHideObj.on(0,1);! V p; Z5 r8 }5 v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # j, n5 F: _& {! b# b
- w3 j* a4 m$ `* J! Z/ O
}
* |( k' ^ [0 U3 N5 J } 7 C# u& C6 o1 T6 e; }( o% N
document.addEventListener('keydown', keys, false);
6 Y) K, w X6 R( OGM_registerMenuCommand ('Clean Hide',( ?0 K$ Z6 o8 D/ t
function(e){
2 m% I% r, ]. J+ }CleanHideObj.on(0,1)& N7 ~; L% ? L5 g: F0 p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& r' |, F. { R, f
});' t0 M; k5 q u* P
|
评分
-
查看全部评分
|