|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - |9 ~: ^- K$ K- ]- G. ^1 s
- \) C) V n `. N- I' }* D; h
火狐插件,用猴子1 d4 `& F; E7 w
1 D2 G6 ` {) P: u$ A. Evar debug=false;
E, o& E J8 T) r" l7 Evar CleanHideObj=new CleanHideClass();8 [ t8 J, b8 {! E- v/ T: C
$ B: }& ^/ n- ^5 h! H* M# l
function CleanHideClass()
0 p4 H* W5 U" E1 n% B5 R. |/ @{ " Q6 J$ b& j; t8 u$ J$ }/ F
& O0 k! S/ B/ N
this.on=function(id,bMZ)
* z" `# X. R# z4 a" S. @# k. Y {
9 [. Z& T' ?' B/ x3 U6 ]2 c2 z
3 H# N+ o: f( \$ c if(id == 0)
' ]* Y' D7 U5 k0 q! ~& F {
" p7 a& k) n, T var page=/* document.getElementById("content").contentDocument */document; / @& A1 \( s& W0 _
this.RemoveHide(page,"span");# b; u$ G* m h8 o' C8 m
this.RemoveHide(page,"font");; z0 B, u3 \! ]) S- \( V9 F! i
this.RemoveHide(page,"div");
# @" C4 i- v5 d. N w% C, k2 y this.RemoveHide(page,"p");
7 H$ {; D" f3 N% F: I+ V0 Q & X) _$ ~' C4 A: h
}5 o: e% ? M& }
9 k! z( B1 Z8 F: ~ }
7 J9 t0 ^( Y# H# ^, L: u }$ c this.getobjstyle=function(node,prop)
1 c/ ^9 r- h! U {4 m* ]* b6 n2 Y+ l
try# f; z7 l' l \4 |
{0 y# R+ O/ _ j9 g- w
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! B5 f) R/ t& j: }# k# V" v }
" T7 Q& c4 z8 y5 k4 @ catch(e)' N: q1 F" D3 r5 Q5 X$ l" U6 X
{
, C5 m; W$ Q9 Y& @: B if(debug)
# D2 S# H+ |; r6 \& A; h {
2 o l& {: F$ I6 H/ [ alert(e.message);
# H3 v. M' Y# G. ]5 o. f+ ] }
6 \" r# w2 W2 W 2 ~8 R5 L! Q; ^. \1 a
return "200";
* [% K! U7 z) e! K1 i" v }
/ O1 W* s9 q/ y; M" B5 j' ?* M" r } C% q9 N2 P- J/ x8 @% W- l" G3 H
, j' ~8 P5 K! F `( G7 I this.RemoveHide=function(page,objname) x/ O4 d+ M* d6 U. x) }3 d& L0 `
{
5 H( v. `+ I8 A0 y try! P. S9 W$ ^% g7 d
{
: M9 ~- z2 \! J( e var minValue=15;
; h: { |: g' C var objs=page.getElementsByTagName(objname);
2 `; b5 u* l% L" C/ v* _' C9 D4 g4 g% f* w* R+ K8 [
if(objs.length == 0)
; `4 o$ q5 S8 C$ {: j, \ {' I' E( U" }. @+ d
if(debug)
3 P8 R6 e* F% z* P [, ?4 ?% s% ` {2 R m$ i l) T" V- @* ~
alert("no object found!:"+objname);
! G- h8 j- @, R& Q- D4 R- Z }
3 w5 g) J' c o* N# \ }
* c( ?, A5 ^9 K) i* ?- ~3 u4 ^ else
/ M/ I" ]7 w8 _/ ^1 a, O: y$ _2 b {
$ I: B: a$ ^' A1 f
; O2 x o" {. E6 S v( P9 F for(var i=objs.length-1;i>=0;i--)
A; W5 r t' R8 c1 L {
+ K. X g4 @# T/ M+ ^8 v var node=objs.item(i);
. p( f* w' N9 m1 U# { ! E5 C* n& d9 q8 L" D4 I$ J$ e
' v2 V) a2 O" p& G9 l9 @ if(this.getobjstyle(node,"display") == "none" ||. s0 [! t" k5 |- L$ G" V
this.getobjstyle(node,"visibility") =="hidden" ||
( d+ m& L% e" j/ K0 ^! v5 v7 N5 @ parseInt(this.getobjstyle(node,"font-size")) == 0) $ t9 [' a9 ` f: M: v5 j
{4 \. ]6 Z2 \4 K
if(debug)
/ F. v* y/ E* z7 @+ g' b8 Y {/ E. {/ Q4 T: _8 g7 a6 `; ~% v
alert("remove invisiable!");
4 r4 _0 c4 N) H8 ~# @) B0 S }# s/ a; z1 @+ Q b) I2 _0 N" Y
node.parentNode.removeChild(node);' ?: T+ e8 i- O W5 z( |( x
) z3 _# U; q4 G! L }- c; r/ W2 o( X9 K) R6 m8 h
else % d1 B2 f' X- X$ N( T0 K
{; _8 H2 Z8 j1 B/ }
if(node.parentNode)
# U) O0 ]7 j6 {) {# n! {) R, Z P {
# [ i8 d2 ?( [1 I. n x var orgNode=node;* ^3 b. J. x L- |
var orgColor=this.getobjstyle(orgNode,"color")
1 ?! {. x5 x5 q2 N. k var orgRGB=getRGB(orgColor);
2 ^ J- I& _7 ~* ~ _6 G 8 f4 O3 e+ t2 G4 f. L
var parentNode=node.parentNode
" l V) s6 \' D0 c% V' a5 O var parentBgColor=this.getobjstyle(parentNode,"background-color");% B( E7 T8 R x: L `* W# ]1 J# n2 E
! Z* D% }: ~$ n
var isLast=false;
: c) t+ G2 |" Y. i( c9 r
4 p+ a! ~. f) B while(parentBgColor == "transparent") ) ^1 I$ F* a3 r* s$ \! ?
{7 w. H) b8 }! {' [ f; G
9 i7 B8 M% L+ {3 R+ y, b. S
7 X: h" k4 h4 T3 }. D
if(parentNode.parentNode == null)
x7 C7 W5 M5 j2 g! z {
' { U) S, q, I3 M isLast=true;! n9 y3 h7 |0 P, k! \$ Q' ?) m
break;+ @* v$ M3 E/ V
}: T" x$ e$ {* `7 I2 n& r+ F
parentNode=parentNode.parentNode;
7 G! v7 A7 j: S, L4 V parentBgColor=this.getobjstyle(parentNode,"background-color");
1 `4 E6 u' g& b1 P( x' J4 b' L R/ ~+ l3 r2 @( w
if(parentBgColor != "transparent")
; W7 x2 U7 Y0 i7 n6 F {% F; n" S5 j. b- \! }
break;
" A+ m+ a7 B4 `6 Y5 t) J% C }
: }* D2 c# |7 R3 R8 I' Q }
6 i4 f4 H) C. Z if(isLast)
9 h: A0 Z x# n& }) q, Q# i; m {
$ u5 T# m/ u" T7 A if(debug)4 H7 t" ]3 n3 _- |0 r' F
{; g# ]0 M, \( C8 N9 k0 J7 z& r
alert("last!!");
0 v) ^3 O% b2 r4 Y }6 O7 G2 a; f6 X/ [/ R
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). D7 {. @ L- C
{
8 }% J& B4 i( ]% {7 m9 j orgNode.parentNode.removeChild(orgNode);
% c/ v1 z$ n( H9 O( M6 q }
8 b+ w$ b% @- k/ O1 C i, C }/ ]$ l/ u% c/ c2 k* q
else
6 J0 L9 G( b1 d, D2 O5 k# b {
0 ?* C' B) a5 F if(debug)6 ]9 c/ F+ I) ?$ r
{7 i1 y1 E+ L, \* _& o/ ^* {4 P
alert("compare color and parent bgcolor!");
, J" O% M% F3 ^; m* A0 c! T" d# A }
5 j3 @ t1 Z/ v' P$ ` parentBgRGB=getRGB(parentBgColor);
9 x6 R& O4 w1 K4 P" K if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 i5 q' f) c/ o0 v5 Z# O
{
: V4 e I* Z4 |8 H orgNode.parentNode.removeChild(orgNode); & L: p2 w$ p ~2 k- N+ G: v' `
}( a8 X* k: H8 d/ M# a j9 l9 M
}
6 Y2 ?1 @4 J4 T$ s }' W4 A; H& N! I8 z# I4 H, J
}, t& h" l8 G- Y! B6 R4 G2 v* C+ U
}
2 E5 K' q0 Z) ~. s/ S+ ?: u }% \$ i0 }4 [% |# W
' m5 g, X5 N- t! m& X2 L) J2 x 2 k- \; b9 V" ~$ b* R
var itemFrames = page.getElementsByTagName("frame");; b* b% o0 \: V! w2 ~% p+ T
var itemiFrames = page.getElementsByTagName("iframe");
+ Z- S2 }! R i! f3 a8 v3 J% O& g2 @
& [4 C6 n1 u& `. `% A3 y3 | var frame, iframe;/ r7 V I( Y8 e3 q
if (itemFrames.length > 0)
3 a. k1 @8 L5 r9 j/ V; A/ w {
( N% Z& e1 g$ a$ u: @' ]; ] for (var i = 0 ; i< itemFrames.length ; i++)
1 l$ D2 W0 E2 M4 _; g4 | {
& e4 q! ~+ b. _% k' n+ J frame = itemFrames.contentDocument;
. ]( M: s2 \4 L' I# X/ e- v3 {. v* ^ this.RemoveHide(frame,objname);
/ W) h0 k- {1 o5 T" S A }* Q5 F! D2 o8 B& {( e# k) H& n
}1 W+ X' _1 {9 q& F, |6 b# Q* d6 j
if (itemiFrames.length > 0)
. ?9 \4 ^3 i; D {2 a% C- |: h n9 ~0 q: Z; T9 S
for (var i = 0 ; i < itemiFrames.length ; i++)
0 q9 {" K0 d/ ^5 l {
, h4 h5 U& z X$ z- k1 m3 y' k* ] iframe = itemiFrames.contentDocument;
: r+ }& \& ^+ n+ p this.RemoveHide(iframe,objname);
* r- R, k R! k+ B5 s' N }
8 Q3 ?+ Q, c R! O }5 v+ ^# s3 |* e. C
}/ W3 D/ G/ y+ V7 T6 z M {' `" r
catch(e): w. P3 d9 U/ s% W- D3 U
{8 p( c3 \8 y3 C% J' k/ j
if(debug)
% y! ]1 t- V) {7 l {5 Y$ y5 I6 m: d; T, o( L' ^
alert(e.message);
- q5 v6 L2 z9 I# V }5 \6 I5 H- ? X# R
}
1 x" m# U% @) j/ x0 @5 }# V }/ m* l. f% w4 y: O _# h7 H
6 g" u% Q* T4 r& A- \
}/ ]% H/ s& _9 H$ f( R8 y" h# w
2 @9 `# J$ |* X4 v" Rfunction getRGB(colorString); ?; Z. X0 W0 a5 } E
{
! J3 W9 y3 g- G var RGB = new Array;/ `0 X9 S8 ]9 O g9 W- R/ P2 G+ D; n
var tempSting=colorString.substring(4,colorString.length-1);" H: O; }3 Y/ E: [
var tempArray=tempSting.split(",");( [0 W% i, F7 @. Q2 F7 R
$ [( N0 t) ?$ Y, {! g+ l- e" I
RGB[0]=parseInt(tempArray[0]);
1 I4 _4 g+ ? x; e+ s6 N RGB[1]=parseInt(tempArray[1]); E* C2 n' D) V" \8 }5 [
RGB[2]=parseInt(tempArray[2]);
1 P. C* y& Q7 N8 f) B+ p6 N2 W * I% ?- [: u. \5 G; `2 S5 @
return RGB;% d. k6 f2 b/ P/ O$ v
}, O6 H3 f( M/ i- z. a
function keys(evt)
( ]( d5 e8 F& A. x {
; J* E& E& K J$ I, I; ?) J% @4 C if(evt.ctrlKey && evt.keyCode=="81") 2 ]( O4 N) ~% S/ {' g
{ : q' @/ s0 W# ^. ^3 j: h
CleanHideObj.on(0,1);: ~* z& r, q+ M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - V. i6 Z7 V) E$ [
; y& k8 }3 {8 g } , o% B/ ]% y! v2 k
}
" M6 I# w |- ]2 x" ?document.addEventListener('keydown', keys, false); $ `/ j& B1 Y" [8 K: A
GM_registerMenuCommand ('Clean Hide',/ [" j; u4 V+ L
function(e){
2 w9 [, X% d$ e: y1 {" RCleanHideObj.on(0,1)$ J7 W' y. t, k! T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) Q6 p% H) X$ l& g) J
});6 y) `+ ?+ D+ K; a! V
|
评分
-
查看全部评分
|