|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& }6 j& y& x0 L" x" m9 _6 v
3 D3 {/ S, [- _& }& S火狐插件,用猴子5 O" V8 h- F i4 Y, S
8 u3 P; p/ t: {
var debug=false; : \' ^$ |, P3 U6 j
var CleanHideObj=new CleanHideClass();
" d% y, I/ r5 D' G6 a$ @' m3 v$ L o6 o1 C) S
function CleanHideClass()
" _1 |% G5 ^- l1 E{
: p' r: T* S: c6 u4 J! F* b$ H* T * B* t9 z3 G9 M
this.on=function(id,bMZ)
0 ^, C2 I' }4 Z: r {
! r+ W2 G# w& h& U6 D
+ L7 l( ^2 G5 ]. L& R if(id == 0)
~0 `$ i {3 j% z$ Y( Y, k {
6 u- t3 Z! N8 T9 J6 j5 L, n. u9 N var page=/* document.getElementById("content").contentDocument */document;
( o: H% [1 p" X; { this.RemoveHide(page,"span");
7 l' I* W( D9 A7 ? \- ]2 z this.RemoveHide(page,"font"); i; V6 P' b- o$ M
this.RemoveHide(page,"div");
3 {9 P! J) i% y/ P this.RemoveHide(page,"p");
. q$ O1 x( |: x$ ] z( g
# F9 h( A1 K# p: g }
: }" g1 q, y7 O" i- ~9 U) c6 v 1 u) O+ ~+ k. I9 T/ m2 M4 \6 D
}2 J2 X+ k O8 r
this.getobjstyle=function(node,prop)
) D" }9 K7 |7 P6 R+ ]8 R* ~ {* \4 J9 R2 B1 @# y7 i! z$ J0 x2 R* a5 q
try
) L- a+ y1 W W$ x$ ] {% I5 M( j9 }2 W8 \% B6 l
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ b v0 u) W5 ]# H5 n
}( i) ?2 J, e( a
catch(e)
) O; R& A8 y, U3 c! ~+ R {
U. z' I7 X6 v5 ?( ]$ P9 ] if(debug)
( ?+ o4 M2 K# _) L7 h7 ?8 h {
/ e. W& [1 ~, C3 Z6 q! B2 ` alert(e.message);
' ~3 [! `" {! a8 b }
7 I' d F% ~! J; e! u2 q
; d5 ^3 ?% Y( F6 \& j return "200";3 C9 F |& Z% J9 t( f
}4 [( X" ^* r* c4 b, N; m! i
}: u$ }) D2 v4 a* q9 f
" l& I' I3 v- s3 L! n9 b
this.RemoveHide=function(page,objname)* n5 C/ ^( w# ~3 E# M1 D3 ?7 {
{1 C1 x/ _1 E( ?. Z8 P9 c, Q( i+ T
try
0 H F' G. v3 X2 F0 K {
7 i, t, W6 K1 R5 _+ C var minValue=15;
3 {2 u B) |& K' b: d% F var objs=page.getElementsByTagName(objname); 2 E( [+ b& k& l, x' p
9 b- S5 A$ R' ~. }! t" @3 W if(objs.length == 0)
4 ` ?. d/ Q: B { c- ^& y. b8 r7 b2 a8 l! J
if(debug)
* d+ |" {7 C# q {
9 W& i# o( R1 U& s" |9 } alert("no object found!:"+objname);3 x7 x" Z" _9 x9 K# ~; @* U
}. V7 J, Z& M9 E; F9 I( U
}
. s3 y! |3 }# L( g( o6 Q2 r% l! v8 W else
( E' Z7 x( w6 ]0 j, U {
" s" d9 Q9 \/ ^* V' }2 [5 [3 Y
: {0 V4 M1 Q+ ]- q; ~( C for(var i=objs.length-1;i>=0;i--) ; L% @0 c- N: w3 a6 z- P
{
4 F$ `% p, Q9 N var node=objs.item(i); # A9 O$ K& ]& \+ L% x' V* l
5 ~" t% @7 w& r& T1 i $ p; p) U5 ^5 {! B: a
if(this.getobjstyle(node,"display") == "none" ||
]0 W9 k7 M# V% u3 b& Z/ W' Z" L this.getobjstyle(node,"visibility") =="hidden" ||
/ N( j2 N' V% D( q9 @7 { parseInt(this.getobjstyle(node,"font-size")) == 0) . v5 \+ `6 p9 t% y3 b; F* e
{$ p4 B3 i- ^( F
if(debug): l. f3 ~& j7 f: A- ?3 r- s
{
, |. G/ K# |( d9 M s0 u alert("remove invisiable!");
6 n& X& w) ?$ O, T6 S }7 x6 T! C% D$ ~- Q, R0 C
node.parentNode.removeChild(node);4 x( H" j8 t. o* q! Y; l4 Z
; \' J' U8 x& M/ @& b }
1 r0 o6 t9 V0 j: l( j else
1 L+ u# j/ [1 U8 ^; B4 `1 ~8 g {
& O Z# P ]) s' M/ y- K if(node.parentNode) % w3 j9 e( [+ Y- F3 l
{
& X0 @( C& p5 N# u. J var orgNode=node;
1 l% o$ ~4 R) T) R' S9 `) _ var orgColor=this.getobjstyle(orgNode,"color")9 U: _) u: R0 J1 P
var orgRGB=getRGB(orgColor); k3 Z& C6 [* b6 G* c$ I
" b' @4 s+ C2 H5 h* J! k& B
var parentNode=node.parentNode
! ]6 j( F! G" [1 L- P: V var parentBgColor=this.getobjstyle(parentNode,"background-color");4 R# G' }; j+ o/ m6 O6 u
/ R9 \0 e; w1 @- P' i. z var isLast=false;/ S% B9 B; D, b6 `: R
, m. U: u1 P a8 ] while(parentBgColor == "transparent") : K- K" }0 l! c* v. j. A
{! \" A0 P! u6 F0 P B& Z* w+ H
/ k! w9 u7 i" d3 e. m
+ v* V4 J D( G8 ^ o% Z0 ^ if(parentNode.parentNode == null)( l8 }! e- M4 z9 D ^, o
{
& q' y; j' C9 l isLast=true;
/ g9 ?# k4 I; {- q4 P4 Z+ W break;
$ k0 i( ]- A$ `7 k# a* G/ A" C+ s }4 Z$ D9 |: a% X ~$ Q
parentNode=parentNode.parentNode;
7 m# [8 [% f) | parentBgColor=this.getobjstyle(parentNode,"background-color");
0 f& O2 z' u) \% q1 T# x
% f6 }* w8 m( }% Y8 `/ `- M" } if(parentBgColor != "transparent")
, a& u' U0 j3 C; a& i. n# D' R {
0 n. Y: R# X% i$ b; X* b6 q break;' e. l; i* q _' [5 D: m8 Z1 X
}
$ ?# C3 c6 m8 O5 y: { }
% c& j- J% v% y' k3 G6 M) e if(isLast) ' P* u$ o# Y. [, h% ]9 a: H6 |8 m
{/ y* r5 \! F# q t3 F7 ~1 O1 [8 Z5 o
if(debug)
) L1 `' ^7 e, n' S: H {7 G' L, T& W9 J j, \2 O6 w) R
alert("last!!");
" C# ^( t: ]: s }" A" ^ ^* F5 a
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; e- j- T% K* j; X, L0 B {- ~ |* y1 Q5 P5 J5 p( d) @
orgNode.parentNode.removeChild(orgNode); , H' V' t& Z: w( A# t# g! w! M
}. M+ @) N m9 }% b F3 J
}
6 F8 D# _9 B; L- R) @ else
; F3 k# W+ q5 _+ Z0 T# \ {( b+ x9 k* Z# h" L3 l! c G
if(debug)
! S1 V! s& c3 [! O {
2 ?, C: ?& s E7 Z" E3 V alert("compare color and parent bgcolor!");0 E1 z8 k8 r7 r
} n R. d7 m; |, M; _; q3 L
parentBgRGB=getRGB(parentBgColor);
3 `: ^$ l$ F2 b' S; q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) w2 \" U; t9 R w+ u* b
{- {/ J; X+ N" |, T" c- T
orgNode.parentNode.removeChild(orgNode);
9 @+ G6 ]4 |8 [4 e3 x* r0 ^" z }
% ~- T7 s, V$ g }) u4 D2 w3 ?4 f- r$ ~0 M
}7 O3 [$ {( E, `6 ~5 ^( S9 J
}
: Y" H/ c; d# D4 F }
5 u0 N% d" e' a# N' K }
& M8 T$ u2 H8 s) { . b1 f& p7 r8 V7 }# K; d1 \
- j0 B2 x/ y* y7 w& \ var itemFrames = page.getElementsByTagName("frame");! g5 K, [3 m! ]/ x: M6 k8 t
var itemiFrames = page.getElementsByTagName("iframe");
# p4 }/ `3 i' }8 A V" `; P
. M8 s$ r: u! E var frame, iframe;
1 u: K* K0 R! N8 Q% g6 n if (itemFrames.length > 0)
d; H% P1 k$ K) } {
2 F f# V U2 |0 Z1 ^9 I3 C for (var i = 0 ; i< itemFrames.length ; i++)
3 W2 K0 ^0 q9 y {
1 ]! j0 v$ G' M' |! S, i frame = itemFrames.contentDocument;, a8 K6 `$ p0 O* d. a% W
this.RemoveHide(frame,objname); 7 _9 Q7 p$ m7 N' b/ S
}
- z$ l; ^# [2 K4 i* U }
" t+ D; M) g, e if (itemiFrames.length > 0)
. v. ?- D; K; t9 K- J {$ g( G) Z! {6 m- X& U: {7 V: |
for (var i = 0 ; i < itemiFrames.length ; i++)
0 U/ t f5 T+ t- Y( i- K9 } B. l {
' g$ c: n1 g) j B% B1 P2 w8 k iframe = itemiFrames.contentDocument;
* Z% {4 J# }4 {% X$ ? this.RemoveHide(iframe,objname);
4 m: C8 h4 K! n/ M/ r }# U N& r7 x4 u4 E# j
}+ |. ~5 x2 W8 |& L- X# y! m& c, i
}( b3 F! k! h1 l5 f" `' `% \
catch(e)6 n0 m' B3 m) \
{* y. q7 y# b$ f, y3 X2 _8 Z
if(debug)
% n/ X4 D4 Z0 ^ W8 \ {; \; x, o4 \. u" `0 e+ P( D0 @6 ?) c
alert(e.message);0 Q( C% u4 R0 g% a7 y
}; w+ g5 ]6 w- G5 P: p( c1 }/ _. g
}! e" N' L& K# f$ E
}
# k! e# m6 p: D3 j ; @- k/ R$ O( m7 A* R
}
0 ~9 G; D# b2 L% {, Q" P1 o' w; [0 k: T# b- _2 m: B* \
function getRGB(colorString)
" W- \6 R' t5 f3 l{
$ p, D: ?4 b: ?, Q var RGB = new Array;( l/ k' o( O. j K7 z9 f3 F
var tempSting=colorString.substring(4,colorString.length-1);" e$ r' B1 @2 _3 r- x
var tempArray=tempSting.split(",");$ u2 |! G2 s v g' M2 O5 |
$ u8 b7 w# k# a, a
RGB[0]=parseInt(tempArray[0]);
- n: a9 u0 K- K" R' f. f) D" X RGB[1]=parseInt(tempArray[1]);, C3 `, z9 n; o9 _/ @2 x
RGB[2]=parseInt(tempArray[2]);
4 S! w1 ~+ ^4 ^. P4 T
$ [. v3 l& t5 r/ c2 `0 c1 H! X" E2 K# }7 i return RGB;
( [& B* N9 Q8 P1 T+ F3 p}5 D& \. T) t1 J" s# O
function keys(evt)
) \: K% p+ O# [- G& Y9 V+ j3 H9 G {
, l$ a+ m3 O( H! g1 w2 S; t0 c5 Y if(evt.ctrlKey && evt.keyCode=="81")
6 J% l. ?7 L& L" p+ k. k {
, \ v% F0 Y# {- K* V9 a. l CleanHideObj.on(0,1);5 t, w% q; w. C4 }# s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" v C4 S; _5 q6 ]) q' a7 i
- c) v' X6 r* a$ k# f7 C8 U }
* M! }( L1 L# }& k- ]8 q/ o }
3 B) f' o6 J4 `5 m! _' v2 Qdocument.addEventListener('keydown', keys, false);
' M# n7 Z- P2 ^* m5 r' e- ?6 l L" FGM_registerMenuCommand ('Clean Hide',/ l, j0 U2 r+ r/ b& C
function(e){+ x! }# G9 R4 p
CleanHideObj.on(0,1)! q- C8 n% B/ D- @+ h' W, z7 |: s, j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; q5 P$ {4 h5 i( F: A5 I" Y' r8 E});
: g- I: ^% m2 R$ B |
评分
-
查看全部评分
|