|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / T. i, p0 a& C/ ^2 y
1 E6 r2 f1 u, E9 S火狐插件,用猴子
0 A- @; k* {. N7 S' p2 G
# x$ r3 U9 T- r( x+ |( @ M; Svar debug=false; 0 t- s! R; x8 `$ H% n
var CleanHideObj=new CleanHideClass();) i7 w- s3 T& q
3 W u& S$ \0 m7 D
function CleanHideClass() ! ^* F p5 V' A9 v' i( A( J' b, B
{ , H2 p% I5 ]. \& P5 a3 d# m
% _+ o# y: }3 ?7 j" ]1 o# s9 h' \ this.on=function(id,bMZ)
, K5 I I* L; R& A6 \ S" j {
% ?' h' I. [) W7 m- Q1 h" w3 G , d3 n1 |8 V a1 n- x/ l7 J
if(id == 0)6 s; T8 ?& P' g
{8 M$ g3 \! w! e% @8 v
var page=/* document.getElementById("content").contentDocument */document; ( a7 D# D0 A% s6 G: Z2 q+ n
this.RemoveHide(page,"span");
( A' m8 W* v( ?2 ^4 ] _$ u8 f w this.RemoveHide(page,"font");5 J j' y/ y n! o! f0 y
this.RemoveHide(page,"div");
* h4 l/ ~' \9 j this.RemoveHide(page,"p");" G- `* f- L2 r
; O- s6 U; n3 i
}% r9 d- h$ _5 z$ ~7 Z
" P- H J& R# t }& N4 f2 m; R2 G" m& L
this.getobjstyle=function(node,prop)/ d5 j3 ?! j1 A7 v4 {) R
{
4 _7 J6 w; P& N; i( m try3 M& b% n7 c" Q9 U
{
0 p' m3 @; R4 a return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 w6 v1 x! I8 t" j8 `
}
; Y/ A [8 c% \1 n6 Y8 R6 T catch(e)
. m& O; V9 z7 Z/ j" l5 ]) \ {
' o. g9 G: e( d6 T# G: H+ s$ T if(debug)
8 ^0 a# f5 A( c |# C. F3 U" S. Q {; ]) G: f7 k( [! t
alert(e.message);
+ k$ C5 G2 _9 c3 c* ?3 @3 H }( U6 Y" H# a! m, l: U6 w
0 @; i6 Z( X2 v/ t9 ~6 F! v x
return "200";
% t3 p& [% X5 s3 K5 _2 w3 y }: f" P! B$ e9 D5 @4 @+ M
}) D4 a7 {1 R9 H! I! D9 B5 f
6 M+ c3 H8 P) @
this.RemoveHide=function(page,objname)6 ~3 i c1 Z, E' a
{
! ~# ^1 i( U% W6 y; Q, ^' I try
: b4 Y2 e: L6 \$ q7 e {! D K, w5 i1 h2 I: p2 Z6 q/ v$ Z
var minValue=15;
, O0 B# Z9 h* L2 r' e) M var objs=page.getElementsByTagName(objname);
( l- Z" Y' l1 S# x
) g7 b, K; m9 M& A if(objs.length == 0)
* p% ?! v, k$ z$ N! N3 F m& j {
0 @$ ~7 y+ l- F4 C: h, r7 a if(debug)
: G9 P4 j) ~/ ?# U( ~ {2 k+ r# e! O! R- V. O9 @
alert("no object found!:"+objname);
0 f) ~) G. p8 Q$ @7 u5 M% J }
) S; s0 s; Y! Q5 { }
9 V6 j5 p- b+ R0 |) @) m2 L8 M0 | else
# {- |* d' z: A {3 n' W- h3 ] e3 ]& H% y
1 a( O$ b6 E( d4 C. c for(var i=objs.length-1;i>=0;i--)
2 m' v: ? Q0 z' M, [ {
6 ?9 u5 C" t0 O1 E% ?+ ]1 ?5 x( j var node=objs.item(i);
0 Q C: m2 P K6 S; a
: H9 g/ X0 p, ~% U0 V- D, A 1 @. o7 z; r1 i5 A% V5 ?
if(this.getobjstyle(node,"display") == "none" ||
# Z6 b2 }0 d6 u7 u this.getobjstyle(node,"visibility") =="hidden" ||5 m4 g% G4 q J$ U) U
parseInt(this.getobjstyle(node,"font-size")) == 0) 7 F2 v- G% D8 P
{
1 M5 J. f, J6 n' s, D if(debug)
: j: F' O, U% J {
9 i( J8 y6 `) }& Y: ~ alert("remove invisiable!");
' b7 P# |: u( b0 D1 u }5 _' {0 l/ y5 s- b9 _! u- [
node.parentNode.removeChild(node);
( k6 p8 }' Y% C2 _ . L) w, q: z- a/ E
}5 L- j1 K. P8 |
else
! R7 E! I/ w7 k$ d; } {0 Q; F) f( ?9 x6 M/ R5 N9 v
if(node.parentNode) 9 P: r: R* t b
{
* @. @- W& t& q# L8 l5 A var orgNode=node;
* k. P% A* S: g n6 W var orgColor=this.getobjstyle(orgNode,"color")% F. i2 x' |/ N- c( f6 b3 @' a, [) ?
var orgRGB=getRGB(orgColor);
0 b, B% Q! `2 Z# p% w0 n2 e! h0 Q
9 \9 C& x6 G F" D$ ~( Z var parentNode=node.parentNode
) a9 H- k: m% j& m# G" N& R; v var parentBgColor=this.getobjstyle(parentNode,"background-color");
) ~ ]. j* P5 b* s. y' j- x. U8 v3 l 2 A4 ]7 C/ m0 t
var isLast=false;0 D% W2 O' W) S) _3 a t& V
! S* D; v7 L+ i& p0 k# G( R
while(parentBgColor == "transparent")
) r* r1 E: ?& m. r) ^2 H {
0 O/ ?4 a/ a. z" ~
8 Q8 `/ Q/ J0 l9 N. p' E1 H
3 @' o- r. m5 y' u8 t; c if(parentNode.parentNode == null)$ U1 C2 J% ?$ M# G; n5 l. ^
{/ J E+ G# ^+ n9 N0 r
isLast=true;3 ^6 Q/ W; h4 t* m' |: `3 N
break;0 f" D& A: ]0 X+ [
}) y, U, Y; ^; f
parentNode=parentNode.parentNode;
( D$ M) P' |- n: x- T0 m parentBgColor=this.getobjstyle(parentNode,"background-color");8 R8 ?1 _" K$ ~" u0 [+ U. Z N
& A5 \9 d5 X8 [3 K; E2 E& C
if(parentBgColor != "transparent")
* d1 Z- f. Q* \& v9 A {
' ^$ ~, M" [9 W8 K3 R B break;: z! C+ `0 L: i5 e8 V3 c4 Y
}
b; q$ p) Y* W% j1 M; r }* a3 N# F6 _7 F. n& S- b
if(isLast) . _2 `' c' d9 ~/ E1 r% l
{% ~: y4 A% d( J. Z, C- c6 ]
if(debug)" ?+ R) G; B' p/ ~6 ^
{/ N3 @$ x# s( q' x7 G9 X
alert("last!!");
# j- H6 S/ J% e$ J% ^3 ? G! ` }9 V5 W) }2 @# B7 }3 u2 u
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# Z# A- y& g6 M X {
! x$ f( }: u E; s5 V8 ~ orgNode.parentNode.removeChild(orgNode);
" u2 J% @) z# n, C# A }$ F8 ]0 b- e( J( W5 L
}
: ^8 ^# F2 Y9 J else# P- O( L6 E6 E% _, [2 R* }
{# ]* S/ v( l5 D1 b/ M1 p, v
if(debug)
, B) F5 D8 |* k) T5 @1 t+ b9 | {
* ?8 E, ~& N- H6 a' r; D1 i; l alert("compare color and parent bgcolor!");
" e4 V9 n, R2 O- ]! L5 I }1 N+ T3 T! [4 c9 n
parentBgRGB=getRGB(parentBgColor);
3 M8 w9 |5 }' Q) ~ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 d+ `, T2 ~# d: S) I& |5 w4 d7 E; u {
$ J, s. Z! {3 j+ ]1 u2 } orgNode.parentNode.removeChild(orgNode);
5 F! B3 S' O3 i7 [" O& }* c3 ` } Q* D r7 h* w, t
}
* G3 _7 H, I, Z% a/ x }
; A* \4 i5 j. e, I: X }
5 A7 r# Y% l8 e( A8 f, U. I, [$ N) [ }. w6 r' E3 ~( y2 o
}4 v/ Q f$ P+ i; O4 v
3 m" ]: f. N1 V) p& S4 M2 y , ?9 ~! N2 L& {( \
var itemFrames = page.getElementsByTagName("frame");
! J: |" u6 e# m( y var itemiFrames = page.getElementsByTagName("iframe");4 J/ L2 A9 S9 @: T/ T3 |- j! u
v$ k5 C' U& E' {
var frame, iframe;, B; q; [) P& p8 r$ H; m- A
if (itemFrames.length > 0)% w& K' W2 d8 X( ]2 o
{
. w* k3 q( a5 B3 `6 \) Q for (var i = 0 ; i< itemFrames.length ; i++)
/ R7 f; X: e+ P2 O8 x {% r J) a5 [- N
frame = itemFrames.contentDocument;0 h& X# X, V! r
this.RemoveHide(frame,objname);
: m/ e- d, v( g9 N" b$ R9 I }
" m* ?5 s: ?# K9 N4 s2 R0 I }
) M V7 N }2 ^* _ if (itemiFrames.length > 0)
; s( \2 p4 r, n5 v% k& j! s {
* q% c, }" w8 g6 |4 o4 z/ W5 W, T4 e for (var i = 0 ; i < itemiFrames.length ; i++)
* o6 H3 Z6 h$ ]. m' @7 w {4 p, y% s8 w1 I3 n3 b, M1 i1 Q
iframe = itemiFrames.contentDocument;. R' _+ I% s8 D: N; J% R
this.RemoveHide(iframe,objname);
' h$ ] g6 M0 m. z }
! B; C# H3 e, [( Q }3 u8 y! s: {3 y1 N# ?( |3 u
}, M0 _' V& @% N( Y% ]
catch(e)
7 I2 V; Y8 D: L$ x& _ {6 [$ D, u( ^6 o8 z
if(debug)
Y7 Q0 z5 c5 C" {! Y {: K& S" f) G8 a. p2 o! r
alert(e.message);
( f. l! g! A% h# ] } Q# [) o- h5 [% X
}
/ Q5 A2 u( f+ J K; L3 u }) h9 `, y4 Y J0 k1 E4 e
* r. @9 O3 j7 ]3 G}
1 z$ r5 f8 @# D* \& a
1 A6 y& s% l( L' i Ffunction getRGB(colorString)
6 Z M5 P; ]" n% o$ i2 i+ D{
]1 h7 W0 Q* B O- B7 s. @ var RGB = new Array;6 J- c x3 {8 A# W* X( g* N/ q
var tempSting=colorString.substring(4,colorString.length-1);
% e4 T4 b E" U3 z: E var tempArray=tempSting.split(",");
0 ]1 q9 r) i9 D% M9 Q
G; o: B: D( a. l' W RGB[0]=parseInt(tempArray[0]);
. p8 l4 K+ g: f% T2 t RGB[1]=parseInt(tempArray[1]);
. T$ w) j: h6 b( c: m RGB[2]=parseInt(tempArray[2]);
( j1 U* b! L3 f0 ~0 n/ [2 E+ K3 x$ z6 G7 a
6 B5 _2 s! {" @' M9 N2 [ return RGB;
( h z6 r" `0 O# T7 D}
/ Z5 X9 `% V# N9 [function keys(evt)
: U: F2 S8 e; f, m9 _3 n# V- j { , T) c5 f& j7 C1 s5 L' h4 O( u
if(evt.ctrlKey && evt.keyCode=="81")
" p* `9 t6 L' v4 N1 p+ \2 n) Y {
3 ?- T5 C: x% T: @# X& Y CleanHideObj.on(0,1);+ D. ^' q& o! Q/ _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ P J0 y! D, u+ N* ~/ T 5 L! {( L1 k4 j* k J
}
. c# [2 e9 S9 b }
' R f$ l t: A; jdocument.addEventListener('keydown', keys, false); " | R. `5 T4 p2 {2 p$ g5 y
GM_registerMenuCommand ('Clean Hide',9 J* T: a3 [; c5 L% Z
function(e){. r+ ~3 r8 |! W2 a" M( r1 F) R% Y
CleanHideObj.on(0,1)+ o7 l1 t1 X, g: P: ]; }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); j9 b; D6 P9 h5 @2 J! O
});
9 N2 R$ j; D- T* W3 k1 o |
评分
-
查看全部评分
|