|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 3 G; g* F& }2 o4 ^3 Q9 g$ Z
9 D1 J% X# Q. Q% `火狐插件,用猴子
) a. W' [) L3 O0 p! F8 v$ S4 r
3 z3 L: @1 k6 `* V0 y# Svar debug=false; 3 \* c% Q Q9 }% b5 E
var CleanHideObj=new CleanHideClass();: G- S. S- V6 `4 S( Q. M, M1 u
2 p# W3 q: ?2 d1 o4 t
function CleanHideClass() * B" |; x4 @3 x' r+ D5 ~1 \7 {
{ G; e6 b" n+ r- V
, @+ Z+ U2 F. h1 { this.on=function(id,bMZ)
) J9 L$ y" ~2 K3 {# i: B8 m3 l {% c" h" c R1 w5 g! {
, b8 s+ b: w5 C if(id == 0)
' A9 ^0 E. e$ l' J5 a6 D- ] {( }6 Q) f8 X0 {: _2 \( P# V* E
var page=/* document.getElementById("content").contentDocument */document; : {. d, N2 a+ Q4 L) m
this.RemoveHide(page,"span");
) b5 d$ y$ z! ? this.RemoveHide(page,"font");% J( j/ a8 f. }8 v4 c" \
this.RemoveHide(page,"div");
/ @, [% c' e! K6 y' x/ c. U) z this.RemoveHide(page,"p");
9 `/ T0 @: X$ j3 B- w
: ~; v$ j5 G$ }+ F3 w; f' H p( d$ v! x }8 g7 ?9 K; L, ?" q4 k' ~
) V" M0 f# m; Z* T8 [5 _3 }2 J }* G4 w; _# {$ }9 R# b1 ^- Z$ v1 g
this.getobjstyle=function(node,prop); F" |9 b) \8 e% E6 U7 J) E
{( ?3 b% A4 n" ~" n- q
try
/ C2 w! _4 e/ ^2 i0 T# C$ c0 D7 f {1 a. [/ ~7 C; Q" Y8 J* e+ i
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 I" x% s* @/ d5 B8 j* t' H" q }
, L9 Y' s4 G/ |2 e catch(e)" p. b9 ~: j A" @$ ]5 @2 j9 D- Z
{
# ?, z9 A; n, M1 z if(debug)
. i& L1 V0 P p$ Z6 I( G$ h {
7 x8 T$ J6 S" x) g alert(e.message);# B9 F* _5 C/ Y% v. y
}
2 g/ C& S, Z( ~2 u; g" x* P) l3 l
: x; O% m+ F$ u9 b* e return "200";
6 j. c9 z0 ^. U) j$ n4 c }
# D; Q- j( B. f6 O. E }
# s- Q; J5 ^# A3 } 4 q6 ?0 f0 v9 U
this.RemoveHide=function(page,objname)
" f/ }& B2 A. i) y2 W4 ?/ b {
0 S' |1 a* |2 g7 v try
8 d3 j+ D1 | B' K. L1 N5 A% ` X/ i# P1 s {
0 ?7 b, T1 {2 B% u2 v var minValue=15;8 ?; Y4 ^" o) x1 T6 G* u4 w! x
var objs=page.getElementsByTagName(objname); ; O3 c |! ^4 S) x5 Q9 ?6 H
" |* i! i' T8 \( P if(objs.length == 0) & X1 \3 E: h8 y* e% j P: B
{
3 R0 O1 A8 C( d5 u) s6 I J if(debug)
, Q, U# g h4 z' e- ]& m( q {
/ L% g1 J2 e4 ^9 J4 `. F alert("no object found!:"+objname);
2 Y Z/ M6 u. Z" {! @# [ }
, B" Y& M, \. Q$ ` }
/ d* _4 R/ ?/ g( m+ W: c- m else
& P- H' u* C G, l$ T1 U: x {
$ M; F/ I7 m& j q/ ~& [; A; w # h% F' k! [- P
for(var i=objs.length-1;i>=0;i--)
+ T% k" l) c' |8 l( d {' a% X% m: Z4 I# x6 u9 ^% f
var node=objs.item(i);
5 U9 }/ W$ ~' }+ @% J % J2 ^+ `7 \6 h0 J1 j; x
" W& M3 ~6 G3 R: A+ g/ _
if(this.getobjstyle(node,"display") == "none" ||- p& @6 r+ c( F* [
this.getobjstyle(node,"visibility") =="hidden" ||
4 r3 ^8 b7 U3 [# v! a parseInt(this.getobjstyle(node,"font-size")) == 0)
7 V# X* W3 r3 y' H7 S. x {% q" A a) n- m
if(debug)8 a; M$ e- j1 `- ^! S* }" Y9 R
{
7 b. ^1 d- w G* C0 Z; _' |% r alert("remove invisiable!");/ H& l2 x9 a3 _$ }
}
3 j5 a8 ~* L; U6 J5 u, ~, N/ y node.parentNode.removeChild(node);: o0 Z. B( ?3 O4 U1 B: \4 S8 P- |" p" N8 l
, a) ^4 e/ h% M7 J; H5 w }3 ^, m% K/ a, @+ t
else ; T3 b& C9 N ?/ t
{3 U6 X) j8 Z- Z! t4 d' s! E6 T
if(node.parentNode)
9 A* I% Y! I! Z y# U {
+ b/ x1 t1 l7 N4 {) ~" s3 C8 i. z var orgNode=node;
8 z' F( K6 E5 c ^) D var orgColor=this.getobjstyle(orgNode,"color")) z3 u9 d$ W. f; F! E7 G$ I
var orgRGB=getRGB(orgColor);
2 I' R+ q9 N7 w. q+ a4 h S: i
0 S; S' [* N( ^' G var parentNode=node.parentNode$ x6 D, I& Z; g. [7 a1 _
var parentBgColor=this.getobjstyle(parentNode,"background-color");' N! Q. Y! z4 i
0 g4 p3 P8 l2 I, R- |$ A
var isLast=false;
" e+ ^5 U# D U" A" R
+ _ w' I( O E while(parentBgColor == "transparent") 4 Q: l: P" {1 Y J( C# @
{
! p. x2 z6 o( T2 \& Q& M# @7 V
: u( A' V! W7 l8 b0 B# U. d + t; s) |/ J% m- S
if(parentNode.parentNode == null)
* A* t& Q* W; t# b- F* E6 u, } {* i: B, D+ x( P4 f+ E5 S
isLast=true;
) K- D' K, n* }# s5 O* C" z9 f break;3 Z# V# [6 F+ \6 x- r1 Q6 m% m
}
5 E. I' N% i' s! b4 ]) [ parentNode=parentNode.parentNode;, M4 i0 Z9 l: x: ]8 V
parentBgColor=this.getobjstyle(parentNode,"background-color");8 y. v9 Z/ k! ]( Z
# }* m6 ]( ?) I0 a9 ^+ T if(parentBgColor != "transparent")
, `: t! E, ?1 M0 ~8 S9 U. J7 A1 w {
' |6 D1 ?2 m4 c: B( L break;
7 B: o& _) }6 L( e }6 W* E: A! J n) H9 j3 E+ q$ Y9 b
}
1 ~4 t+ X- r2 a3 g# }, c if(isLast)
5 O- q/ e6 O6 G5 g5 z; Y4 H {
% F) r& s7 B/ l0 a if(debug)5 P' r% b. P2 b8 C9 [/ @/ H
{
& p$ U7 Y3 K2 w$ [2 h alert("last!!"); G' R: R3 d: A E1 Q- Q9 v
}
4 l( ^ h% M u4 C$ w! J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 C* H) l% T9 r' O* }0 ? {! F! N) @# T$ i9 k% s) J
orgNode.parentNode.removeChild(orgNode);
0 k! u2 F4 h- A0 ^6 Z0 s# s }
2 ^% |1 F" v: a3 F+ ? T d6 I* @* A }
) a5 T& s! L, g6 d) Y: u( M else u' C; U) F! B! y& c
{
8 i' k) K" t7 @" C if(debug)
4 ]( V- G+ D% I$ Y8 n {
; L/ E \0 u7 V5 E alert("compare color and parent bgcolor!");, G3 J1 U5 u2 [) q3 J! b9 f( Z
}
* ^# p5 ^& A- k2 @2 I parentBgRGB=getRGB(parentBgColor);
. ~+ t" x5 N* d: |- O7 { if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 y$ c9 p% o: n9 q9 @3 ~, C: x9 Q! A {9 ~# B, o( m) B0 ]
orgNode.parentNode.removeChild(orgNode); # P9 s% _+ F7 n- d
}
) A5 ~6 C+ u$ V9 d3 F } d- b" b* A# E& z: T: {9 U* v
}
% k; m ^& d- Y( a$ F" P }7 y4 \4 q8 ^$ J5 Y9 l2 s: l
}
2 s9 [8 H- T" V! a6 M }
B& N& [3 I" s' _! H 0 v0 U0 c- R- s/ R6 `
- R; r4 c8 R% V7 m var itemFrames = page.getElementsByTagName("frame");
7 Y) R# ^9 u9 u9 U: d var itemiFrames = page.getElementsByTagName("iframe");
. O) h8 m1 G6 l
' a1 C- `6 l! F var frame, iframe;9 T* g3 E; f( Y0 N' H
if (itemFrames.length > 0)7 o! X3 ?( @/ o6 x1 _8 O
{
9 t+ T# s5 k3 Q0 O for (var i = 0 ; i< itemFrames.length ; i++)
1 _& J! w( \2 c" `: l1 F" k {
8 m! S4 \( X5 ]4 p8 a frame = itemFrames.contentDocument;
( [2 i" A+ ^# l- ~- C. t this.RemoveHide(frame,objname);
! e% P4 L |8 w+ B: f+ l( C. o5 X }9 [% p) v7 G5 @ [7 ^. _( s0 }, U0 y
}
- W9 u/ e z$ S* }# L+ D if (itemiFrames.length > 0)
- d C) I1 P) [0 G! R: c# a( Z {' j$ R, S6 K" ^# B
for (var i = 0 ; i < itemiFrames.length ; i++)
4 E0 [4 x9 _9 ~% ?5 E: e+ X% V {% D& T$ z. X2 Q3 z
iframe = itemiFrames.contentDocument;: c0 r9 R0 a6 T6 G1 M) q
this.RemoveHide(iframe,objname);
4 ~+ @* W3 S' e% S, ~! O! G }
' z, v9 d1 r3 L. ~ E! A }* y2 ], d% w8 y5 {
}
, H6 H2 ^# J) ? catch(e)
; E7 Q: h- x4 F- J# a {
# `! J& D$ K0 J) `9 d, i7 ~ if(debug)
6 J/ d) G7 m9 F6 }; S. ?: n+ i5 O) g {
+ t) h. u5 E! J% f alert(e.message);: L- S* r# J1 Z1 n* ~
}1 R: Z2 B- Y4 N1 J
}
) O3 ?( i; R; u7 J- E9 a5 P% x }- |* Z4 }& ], X& `, G( I& C
8 a6 j8 P( c ]3 L9 Z& B}
: y7 v. o3 r- H3 F2 o' e: n6 P' \5 n* H
. Q8 G: _2 g! v/ [function getRGB(colorString)
/ f/ E3 @$ T6 f5 `' N{0 `. S( h x( I$ l
var RGB = new Array;
0 m5 C, _3 u' j' i5 l. L0 d1 S var tempSting=colorString.substring(4,colorString.length-1);5 k+ f# M' ^. G3 }' u
var tempArray=tempSting.split(",");
; W9 u: a7 `5 T' ]" k V. J
+ X# a0 L' o l% t: ~ [7 ? RGB[0]=parseInt(tempArray[0]);
/ c6 c% m' l: x$ l) a( @ RGB[1]=parseInt(tempArray[1]);
; D2 |! c: L1 S RGB[2]=parseInt(tempArray[2]);
7 p7 S: d# k" R# v& s" Q% Q
- z: A% v, v$ v/ k return RGB;' X" m2 \8 c {* \
}7 x( J6 a4 }+ c0 _; N7 b. H
function keys(evt) 6 B( n# B$ D( X, t$ j$ r
{ ' x' s" E% `, s5 ?8 D- B
if(evt.ctrlKey && evt.keyCode=="81")
8 G+ v/ Q: ~. u {
( {0 D# d4 I& F7 I& V1 m CleanHideObj.on(0,1);
$ f9 c$ x8 L$ O0 B) J alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, K2 Q& w$ x) Q; L5 I 0 z! V! p' _) l0 h
} 9 M* L+ Y0 x6 T
}
9 m% f* P a, Udocument.addEventListener('keydown', keys, false); 6 L; q; {3 X1 [
GM_registerMenuCommand ('Clean Hide',
2 E) @0 c5 U* f7 C% v! z+ efunction(e){
9 A* {9 t- m7 ]" ], W+ D* L. r" P4 W: e" ACleanHideObj.on(0,1)
* k) g# _8 p1 _5 `. |+ A* halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; O! Q F; |; T) ~});; I0 g& x" a v$ V& ^1 G+ C5 f
|
评分
-
查看全部评分
|