|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* A" P- M* M4 Y" y, f. `0 R. q' t% l, ^( d, c1 S
火狐插件,用猴子. I+ V6 p2 X$ J" A
( @1 H9 X: g' O' J. U
var debug=false;
: p, Z: e2 D# N: uvar CleanHideObj=new CleanHideClass();$ g& a# P% k5 Z y
: ?8 Z* j+ ~" f4 v. o, Jfunction CleanHideClass()
2 S1 H. z# v& u# u* K{
% K# k$ o6 K) ^9 S# Q& Z0 u1 q
4 W; P# E1 y: p2 }& v2 c" } this.on=function(id,bMZ)6 M6 \! p" R' e0 A4 h0 f2 W4 j* b
{1 Z% u& `+ I' F$ s& S6 i
- V' ~1 J- {2 i/ Z
if(id == 0)4 s' W; Y% y8 p5 o, m( [. l
{
4 b+ X \* u7 ?- v var page=/* document.getElementById("content").contentDocument */document;
$ A. i% `7 `8 \/ B this.RemoveHide(page,"span");3 q/ G4 D g( Z" r
this.RemoveHide(page,"font");: \7 U* f' N( _+ r: K+ E1 ?
this.RemoveHide(page,"div");
6 Y) C! d9 d$ q$ _ this.RemoveHide(page,"p");/ V8 ?( P2 H t$ t* q/ J0 a- |
9 R+ z* H. { h O: o7 A/ S8 @3 z
}
! m; w1 @* X+ ]; o( T
2 F5 {1 K' k. ? }( ]1 ?4 G2 P$ J q t
this.getobjstyle=function(node,prop)
: l8 r" A3 N5 h, X {
2 I9 S+ I' D7 P4 x6 P: L- ` try
# V8 ^5 Y) s8 h: H! f* m {, R' w' k) q U5 W( {+ T- W
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 v* ^3 e2 m1 J u! m6 K4 V }# G; O: i( a$ J1 f& B
catch(e)
; X7 o; B' K0 F! S2 E. y! n {3 `6 {( `) f; A7 p% N1 `+ b+ C) |
if(debug)) \% o' C6 g. B7 d5 v. L, e
{% E! ?- h; ^4 [ N
alert(e.message);
9 C7 @) c9 f( Y, v" ?6 V }( |$ Q% O; z* m6 }( ^# w0 O6 f
9 a/ q' Z$ K3 Z& T
return "200";
8 ]( c8 i, M5 i% W }. s. a8 K% L& S& c( Z6 U- e
}
2 x/ u1 V' r0 `7 |2 {2 G( S 0 q, |* [0 g# x5 N. D- `6 T
this.RemoveHide=function(page,objname)
# K& |8 E- M2 k3 D: m9 E% D {1 b8 ~- D2 u: I' ]9 a; Q
try% R0 Q6 E: Z5 ~4 m8 t
{
\- ?# c' x7 e0 x! x1 ] var minValue=15;
, i( V( N) z* }' t var objs=page.getElementsByTagName(objname);
% ?0 U6 ]6 e8 d2 B4 I* n$ M2 T' j- t7 T8 d/ l2 v5 H
if(objs.length == 0)
% A, U4 C9 `7 ?6 A7 D {5 K& H& f* \) `0 R+ P; B, K1 w
if(debug)
/ @2 K/ |+ ]2 E( T! C) P f# O {
) t( G( b9 l! T6 P. l( L& Z alert("no object found!:"+objname);
Z6 J7 H8 U) X% Z( q, R }3 ]) R! y- O, D% L$ p! i
}
% Y) c& S4 |8 b( \' J7 R else& q4 M1 s/ G. m* y( k5 X
{, x3 c: M+ x# }6 ?
/ n8 Y R' k$ n" }8 K# t for(var i=objs.length-1;i>=0;i--) " t) @6 G2 ]; l( V* {
{+ v3 f8 G7 a. W! m8 Y E; u
var node=objs.item(i); . w* D3 b3 X" w+ V1 Y
" x. h4 W1 R3 ?" K1 x , b2 H8 X; D6 y, D
if(this.getobjstyle(node,"display") == "none" ||
2 |4 c: c. \6 w1 x this.getobjstyle(node,"visibility") =="hidden" ||
3 M' c0 Q' E! Q" z* ~# @# R parseInt(this.getobjstyle(node,"font-size")) == 0)
" U, Q2 D) c6 X4 \# N8 f; u9 Y {8 V7 { ^7 k" P: V% A
if(debug)0 c" h+ }& n, n4 `6 w
{1 G/ M \& A6 ^! _* D6 n
alert("remove invisiable!");
- k& l7 m& _1 [ }
/ r; a. J' V4 M& q node.parentNode.removeChild(node);$ u/ s3 ^/ G) Z
. h2 u3 I$ v; f% y }% ?& m$ Q9 n7 x
else
) _2 f8 G7 k @ @* @2 O+ s- E/ `0 U {
( h" ^8 S+ Z* s2 O V- ]8 @6 p if(node.parentNode)
$ J$ r b: S. e2 O# C! `& x {, k% v) `$ G( O+ R& h! V& e+ X
var orgNode=node;, ]8 J* J) C V
var orgColor=this.getobjstyle(orgNode,"color") Q2 U! l' v+ E% `1 K
var orgRGB=getRGB(orgColor); . z2 K! G: S, C0 @; L( O& l9 P
# z4 Z9 x1 r5 [% b var parentNode=node.parentNode8 h4 }: r9 k, \& o! o& \3 x; J' S
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( p" F- G- M2 J- B& r
- E. V/ V4 B9 N var isLast=false;$ r$ H C' Z! V" i) ~! n
$ F( X1 O# q2 m4 `5 j
while(parentBgColor == "transparent")
- v/ P5 n3 O% B/ }* J" ~ { A- j, z0 f$ o: ~; ]
9 K" ]7 G0 X# r$ C+ X2 z ^/ W
& f1 f$ i* v5 B if(parentNode.parentNode == null)
" r& J5 T5 L7 ^ {
5 A9 G- p/ `, J0 e0 w" Y. M1 R isLast=true;2 d7 l2 C2 [! p8 p T% k. H1 Z) r
break;
- p% K$ D7 ]7 G7 i2 Y d/ P/ h3 Z }
( r1 Q3 ?2 c9 D1 G2 J parentNode=parentNode.parentNode;
- P+ ~$ a \" m8 @* ` parentBgColor=this.getobjstyle(parentNode,"background-color");
: B* Z! L7 G$ C' w4 N/ f) }# D0 j4 ?! M" O( p8 A/ S& d' i
if(parentBgColor != "transparent")
. P+ S' L+ Q2 q' b; u3 Y {
$ L$ ^5 x. x1 i8 M+ Z' c break;/ ?5 E% l& n) e8 _; d# S* c+ K
}
/ s/ ?* ^- N% S, t) e5 x } b4 F( h4 d5 [
if(isLast) 4 i& G, U5 \" V8 ?
{- q& M+ X1 o- f6 V6 b0 j
if(debug)
+ i; I# V; u2 i6 }* N) [! _' E {+ y0 L* \. l( J( c2 _
alert("last!!");# t( D' X1 c y' x% W" }! n
}) K5 d) n$ E3 m
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; l8 T* s2 M6 O, \) Z# x {$ N u9 n9 s% t5 n$ `
orgNode.parentNode.removeChild(orgNode);
" m1 s- ?- Y6 k! ]! s }
" m" s; C Z$ G) J7 |; c }
* M" T& r2 N) x7 O else9 M; c! A2 [4 G
{1 N- k0 j( X4 ^8 J/ B
if(debug)& v! k, @9 U" j' O9 s' E0 G
{
' w3 N5 w* \: } C! K5 g0 L alert("compare color and parent bgcolor!");
0 i( C ~$ ]6 N5 U3 {, i }
9 h! {. o5 [! Z parentBgRGB=getRGB(parentBgColor);: t% h' N H" k2 P C5 w) H; y& a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& ~) b* ~& N/ G [, } {# m; Y, [1 ~9 [0 m# e; E: p5 n
orgNode.parentNode.removeChild(orgNode); % i c/ v# s; w% F6 ?2 C: y
}
5 L: D! `: {" @; Z" M9 Y; ?* f1 \3 Q* J }
+ W; x1 C, G3 |% ?4 M }$ W7 U' |3 y1 R2 }! ^7 P
}* s# @' d% ?9 T
}
, X% X% c: P8 R( ~$ n% A+ j }
" h0 J2 e# C$ u" G3 n0 G
( L8 j6 v1 K& X/ k
" l" X. M( L8 h' j4 r. a5 x R var itemFrames = page.getElementsByTagName("frame");
) y+ l$ L- c4 s1 o$ G% a var itemiFrames = page.getElementsByTagName("iframe");8 ^- }, S4 S* M8 n# M5 F# _
, h5 ?7 k- T3 f. {
var frame, iframe;
" a& @7 H, Y4 r2 A3 T if (itemFrames.length > 0)
7 @" Q5 X! V( u$ C* d# t2 A {
: Y7 j" f6 {' s9 q for (var i = 0 ; i< itemFrames.length ; i++)
4 B# Y3 |# k7 h% [ {
3 t$ U; Q1 Q7 s5 g* r" d' [ frame = itemFrames.contentDocument; w6 K; H$ y5 C# r3 j7 n7 F
this.RemoveHide(frame,objname);
; u6 ^7 B7 n0 a0 G% L+ P- [# l }6 Z1 ~$ ^. W) u" y" K
}
8 u- f: Y5 X0 w if (itemiFrames.length > 0), }) f6 Y, a4 x1 D
{
% P# ~, g- N8 M6 a9 ? for (var i = 0 ; i < itemiFrames.length ; i++) . R6 v( ?9 C( o1 ?! ]1 l: U9 X
{
7 M' t7 [. y/ o9 o x iframe = itemiFrames.contentDocument;
* r5 W: F5 {) x4 X6 x4 N) o$ ]6 X this.RemoveHide(iframe,objname);
# A0 u* I- ~! M" r6 ?( f# h! \ }1 y3 P. F0 W+ T! N2 B- P$ T2 n# z
}2 W: V) l7 P- E3 L& _, Y
}
5 ]8 @6 V. a( `& G/ `! H% c catch(e)
& m$ ]9 M) v! M0 i% b3 T( [5 f {& y g5 W3 ^: l+ F
if(debug)
8 _9 j# g" ^4 H9 c$ h( L {
$ T$ t8 i& K6 b0 V2 g5 q alert(e.message);& q$ y$ F! A# N
}$ m7 O4 m6 ^3 i7 P: o( c, K
}8 A7 W! s/ w2 K
}3 h7 g) c5 y# R0 ~- U1 S! \: [
: a! H% Q% N) E: i$ W1 p% P}6 a1 I+ C( d$ E
) }1 [- i) ^0 N8 {+ v1 n$ N
function getRGB(colorString)
8 ~+ @ Q& g* O{9 k0 \6 [. E% m" p- p
var RGB = new Array;& ], X+ r# d( \; ?9 }) E9 o4 w
var tempSting=colorString.substring(4,colorString.length-1);5 `& z r% W' d9 H! t4 f, @2 e
var tempArray=tempSting.split(",");2 v+ L: P9 d9 {0 i- }+ I: n$ [$ r$ D
6 B. x5 M- O" u0 f8 A5 D RGB[0]=parseInt(tempArray[0]);& y, F' z5 B8 M1 o
RGB[1]=parseInt(tempArray[1]);
9 `+ D" h) m2 q7 E RGB[2]=parseInt(tempArray[2]);* S, _) ?# f8 H9 ]# a" ?
7 D- Y1 ^$ z/ [1 Y# f return RGB;* c- X# Q! @: O5 t
}
6 [* u7 f' O/ i% lfunction keys(evt)
$ S" ?( F3 ^# ]% F: T { ; q; I- L- z3 b9 m2 J2 E3 ~. W) G
if(evt.ctrlKey && evt.keyCode=="81") . o1 G2 L2 c' u/ n, K, z8 e
{
2 u: ?: K6 d7 b# m# \! ] CleanHideObj.on(0,1);
: T/ s1 o( H& W( j) q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ x$ ~4 k% ?# ^ E
) Y1 m4 ^1 ? }& X" c } % w; _: c$ u& g% P
}
8 [) w! p/ B- f0 Adocument.addEventListener('keydown', keys, false); & ]* k( Q9 I9 K
GM_registerMenuCommand ('Clean Hide',
7 L+ E {4 I* [function(e){
4 r+ Y. Y9 u) M5 mCleanHideObj.on(0,1)6 l5 ?+ o3 n. ]. S) u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");+ a* e. K( V y7 h' P
});0 @" R3 Y; n" E0 M' X" P5 E: e. f
|
评分
-
查看全部评分
|