|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , A, v3 y2 m5 l6 P5 V
+ V$ e" }6 V! Z1 a8 z8 u8 \6 W火狐插件,用猴子
- u, L& h; b) O' ]. t' n! k/ R3 y6 N
var debug=false; , g# w+ |+ s; ~# }3 @, ~7 H" {. c2 @
var CleanHideObj=new CleanHideClass();- O; c0 L% ]2 s C" x5 r6 _+ w, ?
0 h, J' @! {5 Bfunction CleanHideClass() * T2 ~" v6 l N* B
{ % n0 P: m) j- G* A
9 ~0 | a7 q, y3 J' v$ I this.on=function(id,bMZ)
9 {6 K4 } Y; U% J$ K { C+ m+ g2 l6 h4 ?& C* C5 i8 B1 l m
& E9 c; W+ x% A( Y0 a
if(id == 0)
$ U. a, `/ ^' p( ^ {
" l9 J3 s8 a! \# { var page=/* document.getElementById("content").contentDocument */document;
* i. h! W E1 z this.RemoveHide(page,"span");
6 O1 F& M& \ \3 p+ v this.RemoveHide(page,"font");
) T4 F4 A7 j0 b% A% O" a# K2 T9 N4 R this.RemoveHide(page,"div");6 B+ J- S6 V) g4 Q
this.RemoveHide(page,"p");
# d4 C! F" D+ M' N8 V4 t5 P9 y j9 v 7 W2 v3 v/ Y) s
}& K+ Q4 V% V5 r: d/ y# T. m6 z% X
% |5 Y% ?4 a* N* }6 S9 \8 | }4 ~2 W& y6 [+ }; ^4 l2 a
this.getobjstyle=function(node,prop)+ M1 X0 t% ~( J( A' X d Q
{* B& h$ i! T/ z' B8 m
try# J9 m/ {& C7 m) y* j
{* k8 o. [8 U5 r: w
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);% ^8 D& w( s2 \4 V2 J; J( `
}7 Z% @+ H/ x: |) |
catch(e)
$ [1 Q( U: r+ U {
2 i' V9 Z0 m' r! n5 _, C if(debug)
5 [7 K2 A7 m& E& T {/ \" N1 M$ z5 m4 t6 M
alert(e.message);1 B4 [" ]+ J. U2 i8 z% w
}
8 ~6 C6 ^6 @: b3 b: L$ F# M2 `* ^ # R* w4 B7 X/ R7 B
return "200";3 B4 S4 @# p: S% x
}
9 _7 ^1 a4 l" u" N5 p3 |! E4 \ }
" w& @* w2 Z* N* \ - X$ B6 ?: ^" l( |
this.RemoveHide=function(page,objname)
0 ^0 W) Y" s8 v# C; h {
) S, z" U' S: m try
/ i: {' K% `0 O) k3 y {. R3 T. l+ G7 K2 i5 [
var minValue=15;. S$ r+ D& y; f% v$ H4 o
var objs=page.getElementsByTagName(objname); 7 h) w6 d! X! F7 w1 Z, ?
% I F$ c* Z3 a0 D; y/ w
if(objs.length == 0) $ C/ |7 O/ ^3 N
{
, P9 d( X6 s1 W6 b$ I1 P if(debug)
2 v, ~2 z& T7 A6 P; `' n/ e! t* P {
7 T" A5 _% X: ~2 R6 E. K% T alert("no object found!:"+objname);
' Z7 A u) F& k7 g# @* M }( I+ \, n5 c7 O4 s4 E5 P
}
3 |0 v- y% p7 P% W2 c, Q else
8 h' m9 u) W& _3 p$ B1 Q' O {# L' H/ k" j3 T5 }
0 Q8 M$ G3 C. W: p
for(var i=objs.length-1;i>=0;i--)
2 |1 [. N5 ?+ s% P, d; F1 [, s {
. w1 L" O% ~8 l# J var node=objs.item(i); & W6 t. D: b8 N9 m* I l
' \8 ~, L7 k8 s; Z1 P* e " i. |! Q) v1 c, L
if(this.getobjstyle(node,"display") == "none" ||
* B+ V- G2 R0 S( S! \4 _. W this.getobjstyle(node,"visibility") =="hidden" ||3 Y+ C7 C6 A4 e: |9 G+ D6 g
parseInt(this.getobjstyle(node,"font-size")) == 0) ! _8 F8 m( H2 }
{
J9 n# n( k. i/ Y {) z if(debug): \; v; Y Q% t1 Z+ J* Y
{
4 p% n% k" f4 m5 y! G/ r alert("remove invisiable!");
' t3 _4 T* E7 t. G# W }
, o& m5 @, H& T3 b node.parentNode.removeChild(node);) J# k9 T) `- W' o
' y0 }- @2 E( @( [. p
}, W0 I7 S- ~5 D7 C5 n
else 5 G' _0 l0 {* n; \& u( H
{, S9 \6 i% W2 h- `8 ^/ {) A
if(node.parentNode)
/ {9 b3 m4 I8 T# F3 J- G {
: H/ K4 C. L, ^6 R var orgNode=node;1 j& B6 p* n+ c- |+ w! |
var orgColor=this.getobjstyle(orgNode,"color")
7 {& [! K* G9 h. i7 h% l1 r var orgRGB=getRGB(orgColor);
3 b8 e B. J3 k
" l) |! u6 f1 d% I; |) D4 N var parentNode=node.parentNode
' P9 d/ G: {+ t. P8 C* h var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 {) ~% l( R% ^5 D: ]2 } 3 b4 e2 Z7 o8 g, I- o# n
var isLast=false;
1 ]0 b" G! t5 a+ | $ H Y5 a) f+ F8 ^
while(parentBgColor == "transparent")
$ ?9 o* V7 X2 Z9 s* K! B: Y {
$ s( r: R3 @! E+ d- k$ q, Y
3 @: G2 i1 U) \! P# N I
: ~+ ]+ B9 a Q. W3 N- S if(parentNode.parentNode == null)! |5 H) a6 F4 I" o
{
! y: ? H5 g$ N ~+ c1 [ isLast=true;
7 a0 O: e$ S/ k! P8 o. _ _: h break;" p: }0 Z; @3 ?* y* l, P
}* W; I8 i3 u5 H' N# ^7 g
parentNode=parentNode.parentNode;
5 x0 Y% |7 Z w) H# N parentBgColor=this.getobjstyle(parentNode,"background-color"); d: c, w: ]3 P7 ^, y7 @
, L" N j. l6 A* q8 } ?
if(parentBgColor != "transparent")
3 k8 t# e+ G$ D. T* o {
0 E- f3 d/ k% k& t+ L7 ^6 ^, |0 S- P) K break;
" Z/ W% M& ]: E; k7 P& a/ Y }3 K: w) q9 _# a& G0 ^; m4 h- m7 ]
}: A F0 u0 s: s7 E7 n
if(isLast) : L" n( B1 h. N2 ^6 x5 \$ G2 o
{
6 {0 T* W0 g( p8 A* v if(debug). ? w8 B; m0 t( B; k3 E% q
{& Y( Q0 ^, {2 b" [/ L
alert("last!!");
. q$ F. j) w9 b }7 X) h- m/ L, b9 C! N8 Q, r- J* x/ A
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 ?& [& v8 b) i4 v4 w0 @- o {" J; E! y" X6 b# M% {- |1 r/ L
orgNode.parentNode.removeChild(orgNode);
8 g' V/ L1 R" {# | N4 ~, @ }0 j, p% l0 k5 m8 `9 m9 R
}
& p- Y H/ ~9 P1 ^7 Z" a else
! c, C/ }3 H( U1 j9 Q {
2 I9 {! Y# }' ]6 \# s0 m0 A# A if(debug); y1 Y# T, c7 Z9 B" M
{
, j' d) |0 X! t alert("compare color and parent bgcolor!");
) E: t$ ^6 I W' T$ O Z }
6 Z4 l' Z% N: S. G; m9 x parentBgRGB=getRGB(parentBgColor);' D* \% X+ O' `2 m' _6 L: D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 s1 |' C8 Q7 X( i {" ^0 w+ \) z' g- B5 i# p3 v! g
orgNode.parentNode.removeChild(orgNode); ( C9 e! p9 G7 c( M$ B' j
}- P( e& U1 z/ S# r" z
} p) {4 s! ]7 ]" U0 t
}7 h! K5 [8 R" x$ c
}5 Z6 A5 o. w6 Z, x
}
0 @( x2 f6 {1 e( l0 n" U8 [- U0 Z- V }
& ?! v: o0 |4 m8 s2 R! s- i
2 |: i4 q# ^. y) X* H* C: h
4 B; U- X1 N1 y8 v$ { Q var itemFrames = page.getElementsByTagName("frame");$ k; m3 H- J4 d
var itemiFrames = page.getElementsByTagName("iframe");
$ l: I) ~+ Y2 r+ O 0 W* F+ n' \* b
var frame, iframe;- [" h7 H3 ]+ w5 E" F" i6 ?6 H
if (itemFrames.length > 0)
) u. C' X' O, i1 |5 r {* k/ R, c9 ~- A7 Q0 u6 r7 U
for (var i = 0 ; i< itemFrames.length ; i++)
& i+ m& l y8 Y% f" r {9 r1 a! z. @( Y% C2 U( c3 h, ^
frame = itemFrames.contentDocument;' E# ?' _$ O6 t" H$ q6 }6 \
this.RemoveHide(frame,objname);
3 |5 s4 p- S' O) O }' u: J; K% _4 s) \3 d# c2 A5 J
}
/ V" w2 v4 n" P a i: a9 w- t. d! D if (itemiFrames.length > 0)
- a/ D% Y R- z( \! ?2 Q# {2 _8 i {
+ [6 Z2 j* r8 q7 k% ~ for (var i = 0 ; i < itemiFrames.length ; i++)
' U- Y0 Y' f/ F, b& U) K- ? {
! e# o+ j# ]# y iframe = itemiFrames.contentDocument;
( c5 x" g. O( \) E# }7 k this.RemoveHide(iframe,objname);
/ Y- k8 B3 j, b; M& n% L7 U* Z }5 O; l8 t/ q/ _! l+ g
}4 a& U0 e& V, p6 U; [! g# Q
}
) f5 _2 @) B+ j3 @! p6 g7 \ catch(e)
' Q% W* S; |% h) z {
5 R: L' l2 \; w+ E& u- v% T if(debug)$ U1 G& E! `! t$ {% m
{ s( P0 u2 h9 C" \" j
alert(e.message);
4 E% f8 Q# @: }& d1 {6 K6 c }- F$ s* ?9 l0 q8 \' G3 W
}
; I+ k. D, @2 z& @6 Q5 `' h, @& I2 ` }' D* d v; `* T' ]% ?
+ A/ N# x0 Q" M' I. _* z4 T
}7 k" Z9 i, j# o% F1 C
3 z! [6 Z" S5 Y' f# |* I' d- E
function getRGB(colorString), f2 ^6 [9 h1 B9 f L, L
{
+ e$ M) b' ?& E% C" u) ] var RGB = new Array;
% S" b" e+ U8 I5 F% T4 w @ P7 n var tempSting=colorString.substring(4,colorString.length-1);2 ^8 ?0 F) S5 U! I! V6 p
var tempArray=tempSting.split(",");
0 P, s/ _/ X# n$ B
3 z" x P( D+ e- H. J0 } RGB[0]=parseInt(tempArray[0]);
0 X+ p1 d- A j" v+ v1 o4 W9 P2 k. C RGB[1]=parseInt(tempArray[1]);$ A/ ~) \1 b% b' h
RGB[2]=parseInt(tempArray[2]);5 M6 c2 w" @) Q8 a$ O
5 _* P+ Z* W0 N$ w! B
return RGB;
+ } D( [3 _ `7 F- O7 z' r}' H* |* _' l, }6 s. W- Y( E. k
function keys(evt)
u1 P8 B) `) Z9 L { 0 m, M3 N' C& L) v
if(evt.ctrlKey && evt.keyCode=="81") & |# ^1 Q- t0 V3 Q {5 A3 b
{ % @8 z* B( c r2 `& @7 \- V8 M6 Z% F
CleanHideObj.on(0,1);- a1 N0 O% ?8 a. B n) e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! r+ ? B7 R/ g; b. C/ g
& m8 D* I3 g0 a5 C8 B }
" k; C* a- M/ _9 t5 T }
/ h6 z7 v+ ?) i4 G2 Gdocument.addEventListener('keydown', keys, false);
" O9 ?; c) I3 D' b0 S- _" yGM_registerMenuCommand ('Clean Hide',
5 W |. B! F) vfunction(e){
& K3 V1 o3 a$ i& VCleanHideObj.on(0,1)
6 S6 o2 S0 K% u+ ]1 oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, g0 I, J) ^8 {) i( b. d
});# L! F Z' v9 @
|
评分
-
查看全部评分
|