|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 }& L- L: I. p( j5 [. z& V1 C d
9 n5 T; x+ O+ ?4 z火狐插件,用猴子7 J$ Q5 e& ~( w5 L, V' h0 b0 B
0 y, K3 ~; |/ E7 C9 H0 d( g
var debug=false;
" z0 c* `1 O; q" _0 v# @6 k& D, [var CleanHideObj=new CleanHideClass(); z* m9 p1 [# r7 b1 a+ n
o; C* B6 w4 D( P: [* a
function CleanHideClass()
6 j# T% g C- Q+ ?! d3 R! [# Z{
; _. Y$ |2 }5 [! g
. m# g# n8 b5 G3 X1 Q7 h% X this.on=function(id,bMZ)& l# k# X2 b. N/ x# Z
{+ C, p' q" ~! W5 u* c
) g3 {9 Y2 ] \- |3 ?# L: O if(id == 0)
% ^3 M( b: @; P {1 E$ a7 |4 g B4 h7 u0 s
var page=/* document.getElementById("content").contentDocument */document; 4 r. l/ b% p9 i: g6 }
this.RemoveHide(page,"span");
& @1 H7 ]7 P1 W+ X5 o; ~ this.RemoveHide(page,"font");
, D' i: C, R* e9 m" C this.RemoveHide(page,"div");
0 `* _3 C+ K: V& o/ N this.RemoveHide(page,"p");
, h7 H3 M' w; J8 o" A ! I" }1 E% r7 T/ J- h
}
: W7 a& \/ Q6 d1 [! ?! j" h! C . [& M; c) W$ G; J: }
}) ?# z9 p5 S/ w2 v
this.getobjstyle=function(node,prop)5 W t W9 D3 m* I2 s! U5 W) ^
{9 c; E) o5 a/ B% j. H, D4 j9 o
try
. s2 J) O6 p$ J5 H4 \ {
( e! A+ j- n3 R; z& n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: z/ I! R6 {/ T. k# V# f( P
}5 ?, n2 r0 {' j# l7 W) i
catch(e)
( c8 X' k( O$ j- G/ z {
" Y( e4 _( @9 N if(debug)
: Z+ I) b, [3 z( a. j) l2 D {. ]: k8 N @8 D a8 F
alert(e.message);5 b- ~- q! d, D3 h1 ~, Y/ _
}
5 d7 D4 X8 B, h: }; \2 y
$ i- f7 V7 y6 L' b3 K return "200";
2 R r% J3 H4 |8 |! N5 h2 U }
. L" q7 x0 {5 g) u6 i8 N }) b; |2 ?* y( J' V0 x8 \
) M3 x; E( o! L7 ?0 @. }! {; V" r this.RemoveHide=function(page,objname)
# c" v: j8 e7 Z. C2 L7 ~) z/ u1 E, d {
7 m! W- V5 e" w/ S" `) ? try
: s9 |/ _. B5 H3 O {# _1 w$ Y1 |* K0 R. a, |
var minValue=15;! K" J1 {% Z( ]
var objs=page.getElementsByTagName(objname);
8 w# ]8 @" K4 v# n, Q. Z6 T! |: Q( D8 Q( C) K4 ~: `
if(objs.length == 0) 8 N) s9 F2 w) h
{
) K2 ]0 q4 T, u8 w0 U3 i if(debug)
* ~. o" }: H2 b4 I {; Z; F+ {5 h- N/ q; q8 p$ q
alert("no object found!:"+objname);0 F( K" Z" E) ]/ H. X2 F5 G
}
" H" d7 B8 T& Y! I }0 ~$ f; J; o. F' C s* Y4 q2 K# e8 U
else1 i0 @9 M0 I9 r7 C
{
8 K" h* D; B* C$ i1 q( h r- N) p2 r : {5 K. e2 n) m
for(var i=objs.length-1;i>=0;i--) ) t, d9 Y! Q' j% G" E) Y
{
9 R/ F# w- {- D( R7 L; _ var node=objs.item(i); : Y0 i3 n4 j9 v5 d. c3 D7 n
9 ?# I# c& C3 ~1 A; S
4 o* U1 @- n+ g- g1 U" _% x if(this.getobjstyle(node,"display") == "none" ||" w# T9 b0 G8 ~; H2 r; j9 @
this.getobjstyle(node,"visibility") =="hidden" ||
- C( o1 x9 Q$ z! m& x& t/ t3 E parseInt(this.getobjstyle(node,"font-size")) == 0) : z+ `. A: E% W& x: h7 R9 R2 Y
{
, i8 V$ D1 Y7 J5 k if(debug)9 }" O# T: _7 q }7 S8 n' u
{
2 l$ B" Z( J! g# \ alert("remove invisiable!");
% t( y' a1 T: X0 H0 Z/ C3 L# T8 A }
/ S0 F/ j6 j& L5 Z5 b node.parentNode.removeChild(node);
- v5 `0 F; ]' D
( Y5 w+ j% Y, { }1 A: w3 h# m, d2 p! C
else 4 a; e/ a" b! i3 Q0 K
{
0 Y' R& P# `7 Q4 p0 ~8 d) W+ m$ l if(node.parentNode) 3 u2 N# j9 N$ k0 Z& x4 v- Z$ [( @% {
{, z6 X$ l9 i5 I% }
var orgNode=node;( S2 O9 u- u8 J& p' _
var orgColor=this.getobjstyle(orgNode,"color")$ u: Q1 B7 D& s: n/ A- u3 b
var orgRGB=getRGB(orgColor); 7 w( E- c- z t; E
* a7 {% h3 z6 V2 x& o+ C
var parentNode=node.parentNode0 U5 z# z7 @) w1 S( Z" I: j
var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 e' p, b, ~5 D* \7 S
+ O% ~8 ~% L$ R% |- ]- I var isLast=false;
* O4 y* K9 ?7 J
. @- i, [0 r: s |' ?1 t# }2 g" p while(parentBgColor == "transparent") / o2 k6 S! X) }7 x7 i! U4 m1 a
{7 U$ s4 V# ^) I+ \
9 G/ O2 {5 Q" j' u' o9 \1 ?
9 d0 `& x0 i; u if(parentNode.parentNode == null)5 |$ U+ F3 U6 t6 l6 E4 @% J
{; y7 o6 k8 u: X: z
isLast=true;9 ]& @" k9 D+ A! @6 O
break;
; U7 N% S9 ^8 Z9 h8 T }
0 W& \0 l4 k, d& C- ^ parentNode=parentNode.parentNode;
9 A/ ]6 K4 B$ ^. a# ?* O parentBgColor=this.getobjstyle(parentNode,"background-color");
5 d! p1 W( l1 c* r. T
5 ~+ ]0 v- U, s/ ~: \8 h$ C if(parentBgColor != "transparent") . B+ C* L7 A; G" Y" ^5 S
{5 {' a# L |' F0 Y2 @! J
break;, }, h3 F9 B1 i/ @( Q- u" K# N- g
}
- ^8 j( ]# A8 E" c2 s; ^ }
1 G$ y! {& S6 `+ M/ S2 k2 T1 { if(isLast) " T. z5 H3 z" \5 X
{
, C7 m% @0 f( f t; w5 \5 E if(debug)
9 |/ b2 B9 ~! v# K6 J$ E {6 ^2 W+ y( @. Q9 u
alert("last!!");- h' f% z( B) v7 B, r; Z
}, p. C p; D: t6 p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 l& z% `0 C9 x" N- _$ r2 |0 t
{* {5 f! e* Y" w1 r- c( v+ i
orgNode.parentNode.removeChild(orgNode);
% p8 x' D# D# [! v" \( c3 d }
: C2 M3 G7 ~1 I# R6 r4 W5 ]; }) ]9 E }
" N" N4 P% B/ e: F else
K( w, ]+ I. Q0 V+ G: E {4 k* |8 x: o( Z" e0 Z, m
if(debug)+ t+ C* x: K5 n
{
* y1 j `; y- p' V alert("compare color and parent bgcolor!");7 f4 y0 ^) _, u( ~) r5 G/ A
}
8 T0 N' W! C2 D3 G, j8 C parentBgRGB=getRGB(parentBgColor);
: Q0 o" m: d. K' c. E" I! A if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- H. r) f3 G$ }, U8 _# |' j) m: Z {; @* L! S; j$ _! v$ p
orgNode.parentNode.removeChild(orgNode);
( T2 o4 v1 T3 T; s; t6 k5 i }
$ Z) l6 N, q, q7 S7 c: b }
2 c9 N4 t1 ]/ f& k9 X }; ]8 i6 p4 E6 \7 P; Z4 c
}- c% g, ~. `) y; V5 r6 q5 m9 g
}7 o' D4 l+ ]3 \1 h% Z8 _/ o
}, t4 J% d. G+ d# x
+ ^0 @) Z% b8 o. V " Q0 b! j7 }$ v W8 [
var itemFrames = page.getElementsByTagName("frame");
) n, W7 M+ y: ^/ f% v2 e: z* N var itemiFrames = page.getElementsByTagName("iframe");
! }2 i' @. i0 H' Y2 A ; c9 Q: y' r% U& A' v5 x% [4 t4 Z `
var frame, iframe; L* p) p+ h8 ]
if (itemFrames.length > 0)
) P k9 i! {$ e$ Q' |( V {
3 L+ a( v$ q9 l for (var i = 0 ; i< itemFrames.length ; i++)
' ^6 W$ {, ?' E# p9 H: F {
) Q1 C+ U9 o" N- O: F frame = itemFrames.contentDocument;
6 w: L. D, R* o* E this.RemoveHide(frame,objname); ( c! T9 p! ?1 Q5 |: \: }
}1 T4 \6 v0 X0 H% J+ ^% V: P3 \
}4 o, D* L) i7 [* Y$ ~
if (itemiFrames.length > 0)
+ r$ E( p* G2 {; P1 a2 @9 R, Q {
' m3 d# P# v T3 l6 N! l for (var i = 0 ; i < itemiFrames.length ; i++) & g; S6 G- G& O) K
{
) o& i+ O1 ]2 j+ v& a iframe = itemiFrames.contentDocument;
9 h3 e, a* z5 r% O: j- z1 v; T this.RemoveHide(iframe,objname); ' _1 N( Y; E4 \( c2 A
}1 O$ J- x' z0 U* }9 V
}+ G* O* W3 S; r2 l
}
9 u; G) C I2 _+ E6 e' f( U- x catch(e)
" V- c z1 ~& N9 H {
+ A$ C* @5 }+ `* t c, J4 n if(debug)9 W. R9 ]7 K3 ^6 Y
{
. L o; T' j: B3 m alert(e.message);- K( ~, U+ V+ x' S
}$ h/ S$ }7 `) \6 q8 X
}
+ K. R8 c% W' l: v }
/ v" o3 `+ D0 ] X0 O7 S- H/ j4 N
}
9 g2 J' u7 z8 X7 ^! e! y( E4 n2 a4 q5 H4 q+ d& [
function getRGB(colorString)
# j6 u& Y* P' I4 q& Z" D{
% K" S! p& x$ H3 Q( R var RGB = new Array;
" m$ D* \; ]3 z& ~/ l var tempSting=colorString.substring(4,colorString.length-1);- G& Y0 W; P) x0 G) b0 S$ g" R
var tempArray=tempSting.split(",");
+ G. b. G n% E# C: k2 I/ N- O+ T) B4 |
RGB[0]=parseInt(tempArray[0]);; y. G* m2 t( }( [% P; w1 ~% C
RGB[1]=parseInt(tempArray[1]);) a- B; d' ~% y: p5 u0 O4 B
RGB[2]=parseInt(tempArray[2]);
# y8 j. ^/ }8 p2 M ^
9 m5 O. P8 D/ g7 g" y" n return RGB;
, k, v3 C5 f% |& e. Q}0 ]/ u5 d" N+ p2 q4 u) B
function keys(evt)
+ x& p/ \1 F* S* i/ t C { , c% D0 u _) \6 S7 q8 y
if(evt.ctrlKey && evt.keyCode=="81") . `+ }* _5 Y: f w, W
{ 9 t u3 |% }- b1 R1 C! G
CleanHideObj.on(0,1);
) h! `8 D' N/ f+ L alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' `9 m+ S$ Y6 C
& z9 N$ S, W: f7 o: O } 8 s9 ?6 j+ z7 J6 w& @
}
1 w( |7 a, C( h$ v5 ^# Bdocument.addEventListener('keydown', keys, false); 3 y l" ]! i$ M5 J# M
GM_registerMenuCommand ('Clean Hide',
/ b8 J, }, W4 ^9 Dfunction(e){
6 }1 D7 o$ f' n( w6 E yCleanHideObj.on(0,1)
. v5 A9 t: X: c7 k! o& talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& {" s' d- ^# E" @" o" P" {7 o});0 h6 L1 X& M% Y& c- x* _
|
评分
-
查看全部评分
|