|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , z" x' Z W' h
& r w- Q/ l( y+ w, G火狐插件,用猴子
0 n, e6 E" ?& e1 A4 C
2 f& [1 A3 X8 Z' ~) Hvar debug=false; ' s- {- c& i; q2 l- i3 g9 q. n; U
var CleanHideObj=new CleanHideClass();( [3 C, f8 M8 E# |; \+ H# q. D, P
0 p5 O, t9 T9 ]1 E6 A. w
function CleanHideClass() # F# _' I4 a! I) [/ ]
{ : T6 @; g3 Z4 U2 s% \, s) B" K
, O8 e% F# @; } this.on=function(id,bMZ)) Y- ?5 B# }6 T' j) Y
{
+ l$ I8 k }) s7 _1 r ) M7 {- y9 P5 A1 h/ B
if(id == 0)$ }2 Y) T6 F5 [
{
! H/ x3 M$ [$ Y* j* J var page=/* document.getElementById("content").contentDocument */document; / l2 q* z' a0 t- Z0 @
this.RemoveHide(page,"span");& }; Y* S r, c$ x: Y" }. }+ s
this.RemoveHide(page,"font");! u5 Q+ y9 v# g- g
this.RemoveHide(page,"div");' e2 y X p1 J1 [, [
this.RemoveHide(page,"p");
% u3 p; ^4 L1 q2 F( L4 h4 b0 H
6 N2 e$ U4 G5 A3 _8 @- s }0 x5 r! P- ]$ p( ~7 [( D
, C5 J6 s; e9 M! a* S& f# y3 w }
3 t6 T$ B6 |9 `2 R this.getobjstyle=function(node,prop)
& k7 { S. L9 U+ a/ q3 b {( p/ m/ E/ f& w; V/ f
try. |* a9 e( x5 w6 j: B* W: F
{
- u! U# R4 A7 K return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 b% A# a" G ]9 ~4 f6 G" |
}
7 |$ y) X& i2 M1 M5 A catch(e)
- g- n$ G8 h# |+ k {
% L: q4 ]: q& t# p$ Y if(debug), J: f8 ^1 q# {7 m0 z
{; k+ D% U% p* L. {( \2 V
alert(e.message);
# T: J; u% `# G% l }
8 G" g( F5 c2 e. b
+ \- W8 G4 \1 [& B3 Y0 {% p return "200";2 f; J! h" N" d
}0 L8 l: }* ?2 e4 ]4 x
}# _. Z, ?5 D/ h. P
0 {, m/ N& ?$ H
this.RemoveHide=function(page,objname)
- h# Y2 U- U& A- j2 J$ ^" b {7 u) b9 Q/ `8 E: d8 @4 y
try
5 p. l; s) B' c4 f/ Z {
; H; v, c1 X' Y' U' s var minValue=15;
: S6 s6 }: E3 _# [, y2 W var objs=page.getElementsByTagName(objname); . B6 a, l( ]2 z9 ^, P5 d Q
' p) L2 y4 t: N- t6 r" G! q if(objs.length == 0)
6 e3 g3 E7 R U- e {# j1 J! W6 G& L0 Q* T6 H0 j
if(debug)
8 G4 C/ o% B& j) t {8 `- Y# u; I- w( n
alert("no object found!:"+objname);
4 A1 ]- c) [$ N% \/ \. W }; h$ \! b" i# h0 P7 a
}' x2 P( z1 ]+ I ~& |* G
else
) W3 I3 e$ f5 \4 | {
8 x$ w( S( r* m$ L
! n5 J4 f: Y; s for(var i=objs.length-1;i>=0;i--)
5 ?6 e* d w5 `; ~' L8 p {4 C+ e0 x5 x- p9 `
var node=objs.item(i); 8 f" Z# x3 i* n5 T E3 F
0 u( y7 Z# Y/ Q6 s
, \5 ~* N# v5 C/ @8 o& O if(this.getobjstyle(node,"display") == "none" ||
7 L7 X8 f& V0 E) I2 i' ^ this.getobjstyle(node,"visibility") =="hidden" ||
$ }1 F& P2 O# v parseInt(this.getobjstyle(node,"font-size")) == 0) # e" _' z! k5 e6 u* k( S
{
+ k8 o) [$ f0 h$ V i if(debug)$ O1 Y) L) ?: O4 o8 N
{# M& L$ x3 F n/ f. I
alert("remove invisiable!");; A, {8 U, Y( E
}
+ U% ~. C& A9 i0 @3 B9 b$ f, n node.parentNode.removeChild(node);
3 e. c. `% R: J% c& D 0 [/ n' T. D7 p+ A( A: b
}
! i1 F) u" r. m5 U' D2 Z else % Z8 |# f7 U; ?9 H* S- F0 A
{$ g$ Y& B7 J% A- c9 p$ p
if(node.parentNode) ' I; n- m" T! v
{
, z B3 Q3 h1 F. Q# v7 R, X var orgNode=node;
* @: F* o7 H# I& b% Q6 o/ c- ]5 ^: `# v4 D var orgColor=this.getobjstyle(orgNode,"color")# ~& [& g; K! P' o6 c m1 ~' {2 y
var orgRGB=getRGB(orgColor);
: D* W) l8 u& J g$ |8 ^1 ]0 E
) U! O: A$ M( o var parentNode=node.parentNode
7 n' O+ ~ e4 {% j var parentBgColor=this.getobjstyle(parentNode,"background-color");) e5 y: c, N8 a8 l( b
& }& M6 X' X( `* \& f, D& @3 q var isLast=false;! X/ G ^& {4 v: P' }
# A+ j) v* s; l/ K' C
while(parentBgColor == "transparent") 9 Y8 N6 K6 O; _. F6 n% e
{5 }1 z6 Z( t L; X2 U
5 i9 b1 e L. W4 j: g' U
& x2 ]: D! M" L5 v: B
if(parentNode.parentNode == null)8 R! Y6 J' f( L6 `: o. s
{! V2 X$ y! X, @. C. ?
isLast=true;$ ~4 c1 {& G7 `2 E" Z9 y
break;2 ~. X+ y" [( R4 ~8 d
}/ \+ Z) |0 D" k& e Z
parentNode=parentNode.parentNode;
1 E, J3 z" F8 F6 b parentBgColor=this.getobjstyle(parentNode,"background-color");, q3 U7 P" `/ b% F6 O. I, {9 |
- Y: q3 Y5 }2 [9 z1 l
if(parentBgColor != "transparent") - x) q) s9 Y; H8 ]& O
{
7 j4 J8 t9 e$ v: Q7 J1 }7 l2 f break;+ N4 f, Z+ S {/ x
}
4 O2 B3 q& ]; X/ X) V# s }5 ?& B/ g- O4 z# t+ c2 Z$ j
if(isLast) & _( k( ?. E1 s0 m7 K' _. L
{
?. _1 Y# v1 }6 f' u F if(debug)
Z7 l, T" E, C {/ e, L# D3 M, k. e7 d; w
alert("last!!");
2 C8 P( H$ S# @6 w }3 Q( X: C) j5 J
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))9 \4 z" P* y7 ~' z8 D9 f# {
{
1 Z! G- [9 h4 I; v" F orgNode.parentNode.removeChild(orgNode); 0 ~: G/ X- ]4 }: n% w0 U N0 Z5 j! Z
}; g9 }3 k; c+ T F0 o5 t1 w
}6 ?) ` L" N( p& S7 V9 Z
else0 [/ `; {% V% u9 ?# X. I1 i
{% h/ r5 v) w8 ?5 b; g% O7 y
if(debug)
7 w5 _: ~0 G6 D" d {
2 c+ q7 _# f& I/ x/ o h1 G alert("compare color and parent bgcolor!");
- L+ \5 B v4 R g7 p7 U }
; T- E" u) Y1 t$ ~! W* O parentBgRGB=getRGB(parentBgColor);
, \; ]. }8 h9 F6 O if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& z v. \7 Q: Z {
4 J; ]+ _' s+ t9 E/ v, h: D orgNode.parentNode.removeChild(orgNode); & E& d: F; n- i7 Q
}4 x) a1 G' K5 X
}
, o( X% I; L) ~) Y& Y& Q }6 K! m, T/ I ^" A' c1 p. i
}
% O5 n9 r4 X; Y0 D2 o }" a2 O P2 M# y! ^0 X7 c R
}* v$ d# }3 f! \4 g7 F
8 e$ o+ w) k# P( Q$ U+ F
; k8 k$ F8 `) |+ n
var itemFrames = page.getElementsByTagName("frame");
2 Z+ y! k+ L, Q var itemiFrames = page.getElementsByTagName("iframe");
0 j+ ]5 E& {$ W9 W9 b, c# Y% u
" ] K8 q4 \4 x- ~ x# x. ^ var frame, iframe;
! D& A; u) Q1 g/ f3 v+ {& j if (itemFrames.length > 0)7 w, o# ^" a( a7 {
{
# K, k: b- F- \4 a0 W' e for (var i = 0 ; i< itemFrames.length ; i++) ; J5 @8 w) D, L1 O7 n5 b
{
+ k$ M$ D, g/ B2 W7 U3 } frame = itemFrames.contentDocument;
( x# x( |: _' m this.RemoveHide(frame,objname); 9 A! u0 k- N4 N: z$ p
}9 \/ s" k' \# J( n$ }
}9 v& i6 N, z( Q# E& e
if (itemiFrames.length > 0)0 Q: ]* ]7 H1 L7 l e. ~
{
$ M$ I l& b+ g/ S for (var i = 0 ; i < itemiFrames.length ; i++)
7 V b; n9 G' @9 n3 T0 g, U' ?5 J {' V* U5 r& T- ?% X% Y4 U
iframe = itemiFrames.contentDocument;- Q$ x: T+ k7 f! y# t9 X1 b3 L) y/ w
this.RemoveHide(iframe,objname); ' K) N- T, _; b. e
}
5 z% B; j# w6 C6 |; j" { }
* a" i/ ^% ?1 s8 q } }5 u/ M: S/ f/ Q* d; D7 v8 K
catch(e)( s7 t, l) c1 g% W; d
{
! F% ]& U6 T, m* I. K: B$ I if(debug)
. z& f8 ^9 ]: c6 ~ {# Z: r7 i8 t) K1 |; J7 g# X |- j
alert(e.message);
5 F' c* r5 D3 g& w7 F2 H+ [" } }
1 S* |0 k% C! ^. V ^, W }, j0 c1 ]( q) q9 u$ z8 n6 f
}9 j( K3 r: N+ ^, |; ?' k5 s
8 U" u( T0 `6 \) l5 w Y5 Q
}
# K' i f# H+ U2 R# c3 p6 W* R, ]7 O1 R' a! Q! g
function getRGB(colorString)
/ Y$ z/ K' g' K' Z2 P" f{
( l# Z/ M" }. [( \* A3 _ var RGB = new Array;" N0 O! Y4 T4 j4 Q4 J) e
var tempSting=colorString.substring(4,colorString.length-1);
8 C$ a/ |' w9 j0 a9 Z% y2 d/ L" ~3 ~ var tempArray=tempSting.split(",");
3 C1 R" i$ y9 i0 l# H% `* Q! w. R x' r- W
RGB[0]=parseInt(tempArray[0]);
. y* A) A8 q9 d RGB[1]=parseInt(tempArray[1]);
0 a' ]1 o, E. a- E% V+ M- E# A RGB[2]=parseInt(tempArray[2]);
* ~, V- ]6 G( x. O" X C) G6 b, a
% O5 t4 v* [2 Y" l o return RGB;
$ Q2 k# S/ K; P, e4 y l4 k}& i8 ?+ D% T# }% T; U
function keys(evt)
) |. E. Z0 X- _% ^ {
. y+ o+ S8 O9 D if(evt.ctrlKey && evt.keyCode=="81") 4 r B" B' L2 }( U* ]
{ 0 Y& N3 n y8 V6 a% v I$ R
CleanHideObj.on(0,1);8 T$ t6 Z- a" i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 o- h4 l. {: j" h
l, w6 {: f3 a6 z# P! Y9 t: r3 i }
: U! H1 `" t# F& | }
5 ]( i1 `" Q1 U4 |+ Mdocument.addEventListener('keydown', keys, false); 4 \, E8 W* Y* J, b( @& ^+ W' O1 g
GM_registerMenuCommand ('Clean Hide',* E8 H9 |" x4 \- d' O* V
function(e){$ ?: u8 P5 R# Y- B+ n1 V% ]2 G
CleanHideObj.on(0,1)
4 ^( `' O0 F' B0 h+ ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" Q0 D; ?9 f/ m: y' D, L1 ]% a});/ }# O9 ~ X3 R Q$ @$ o, @: Q
|
评分
-
查看全部评分
|