|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . C7 q4 R. n% Y+ v6 t" h% R
: ^/ O) G' v" h- y# S+ i$ Q火狐插件,用猴子
& W9 w9 v S+ d. a, S7 ?, \8 w
% J* X* L& B$ [# v* L5 C1 m4 P6 {var debug=false; 9 _; R! S- ?2 g, [3 H( M3 g7 t
var CleanHideObj=new CleanHideClass();% d! ]1 U! ?8 E
7 r! Y: k$ F% k1 y, bfunction CleanHideClass() 3 \, @' R: h8 e& h- X1 b' m
{ 0 f" d' }) Q h* z) C$ w
7 ?; ?& s. o- {
this.on=function(id,bMZ)2 f, o+ O! W0 q) }0 W
{
" Y3 f2 Q8 l$ {) J0 I6 X6 r4 \5 s 6 G! `5 N" r, y# c
if(id == 0)- l* C! w4 O- ?; S8 L
{ R! q( D& v% X/ L/ y: b2 P# U0 s
var page=/* document.getElementById("content").contentDocument */document;
) J, _1 Q+ K i7 M2 N: Z this.RemoveHide(page,"span");
o' b6 @! s4 r this.RemoveHide(page,"font");
/ @( g1 `7 c& S/ [6 n: Q9 f g this.RemoveHide(page,"div");
G& h U6 c& I. g; y( Q; I this.RemoveHide(page,"p");
" z( L2 E7 v" c, j2 I: l8 K
' E9 y, F! d- g, D: [% s }
8 w9 e4 b9 H! B$ Y , k; `' w. q4 h
}
% ~" N M9 U4 n- O1 |7 x) m* a this.getobjstyle=function(node,prop)+ L9 B4 Q! J9 B2 A2 @
{% I8 F0 |7 q$ C
try/ j1 J. Q% i" F9 Z
{
& t* Z" Q- a" |) X return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
% v# O4 F/ U& [. Z: k8 D" T }! i. F) x. g9 s; W& {
catch(e)/ Q$ f7 h: t8 y/ {( E
{- Q; | k( p* b Z
if(debug)
4 `# S& \! l x. i {
: Z8 A' K9 N) T( J3 p9 h4 M alert(e.message);$ F7 y4 b9 Q& Z1 c! |6 @
}
- m! D5 b! m( U/ x3 X* Z8 _8 ?
3 P: N& R5 H# r* o/ C4 E1 A# ] return "200";8 {- Z; g8 v( g* D; _
}4 S% j+ N" ]3 P" p/ J" a
}
# q' T& L% j* Z- m# Q) j6 G
' i: L7 z* M# e) l9 v3 V# m; Z this.RemoveHide=function(page,objname)
7 k, ~% \& a& k+ x {
5 j0 E& Q0 G, j: e6 Y4 t' H try% N# b# d' _& i9 N
{
6 y9 Z7 H9 n7 o% q var minValue=15;
3 r1 [( r. a2 }# Z# R) {$ ~ q var objs=page.getElementsByTagName(objname); T% w m3 T; V8 {5 A. K
5 L5 M$ V2 v+ {9 e% }4 w% @6 x
if(objs.length == 0) - |: g9 B2 }* w: B* |+ T: b! H
{
8 F+ ]0 b5 v! N, x5 j9 `& t if(debug)
# P( m- B- E* V1 _ {
) I, n+ d& O, x6 i9 Q0 ~3 n% _% p alert("no object found!:"+objname);
4 U1 n8 u8 H- u* [) m4 i }; A) T" l8 @: A& _! T. x
}
5 F9 R) W/ U; u3 m7 E5 ]9 c else" m7 h! v# ?$ G+ R2 P
{- l, i6 ?" h# r
7 D/ E' s- M z! g8 D o
for(var i=objs.length-1;i>=0;i--)
, [8 x$ B" m& U {
% B3 J9 A0 Y! Q$ n6 m# W% T1 u var node=objs.item(i); $ x6 ]( Z& y; `" G
7 A a. g; Y% }; s
$ _0 ]8 Z6 C; b2 r9 h if(this.getobjstyle(node,"display") == "none" ||
4 U: n b0 a+ M this.getobjstyle(node,"visibility") =="hidden" ||7 v/ k$ C d3 I% F% {9 C7 @, ^0 b+ z
parseInt(this.getobjstyle(node,"font-size")) == 0) 6 T) v& Z6 G- t! [1 p# }" n6 @
{
( w7 d9 V* q @5 u* g5 j if(debug)
3 Q8 r$ U+ T0 U* ~ {
6 m D4 {! S+ R* g" i% n' G alert("remove invisiable!");5 q: @5 y, ~" W/ g8 k
}# u2 N# S$ f1 C/ W: i
node.parentNode.removeChild(node);
4 p( [& h. r5 M$ W% w
5 U1 O F& C+ ]% u3 {' b }$ @9 S* T! ` b! ?: T$ j
else
. R+ P5 Z/ n3 `' z/ g+ O2 i {' D9 \( g7 Z* V# M8 P
if(node.parentNode)
3 j, b, C* _, P& u8 C, { {
& n& v$ ~: G, Z6 f7 t var orgNode=node;* ^2 n, N" ?# E. T
var orgColor=this.getobjstyle(orgNode,"color")6 Z. K7 q( ?2 @& m3 q- x+ w8 _
var orgRGB=getRGB(orgColor); # y" i/ I8 t4 c5 Q: E0 O/ n
3 [" l% Z1 i7 v- i4 \4 R
var parentNode=node.parentNode! p9 ]" ] i. J4 l9 c7 m
var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 j- Y' H" s, u+ t9 [4 p
, I) Y+ `2 O7 Q' w: U: X var isLast=false;
7 T/ _3 f- y" I6 B1 t9 Z1 I # E: G( Q/ Q+ T3 B: A! {7 X$ c
while(parentBgColor == "transparent") ) q+ N+ p" ^. u
{, }1 E1 C' K& q' H1 G2 L+ t6 o
. ]# H4 S2 P2 [( ]; Y( ?% V9 \) t
0 ?) e6 W. b# n if(parentNode.parentNode == null)
9 k: K' k# A0 Z2 q# ^5 J {. t+ d2 y; I/ ^% h/ P+ m
isLast=true;
7 j d" i, F2 u% Q& G break;
0 Z8 \( B @. U }8 x4 X3 b: b/ l; k+ @! N, z
parentNode=parentNode.parentNode;
9 z% r, q1 R& Z2 L4 {1 _" k parentBgColor=this.getobjstyle(parentNode,"background-color");
% k7 k6 E+ Z: Q( ]- N% {4 z5 J3 w/ Y4 P z- Z2 ]' }8 l. l
if(parentBgColor != "transparent")
% h7 r6 \% q0 d, F" Q {
6 [% Y5 N9 f- @/ p4 \ break;
! }$ f& m, q. }, {7 ^ }
?9 A% K2 X3 F3 \ }6 s8 B) d5 c% P+ r" |
if(isLast) 5 b/ ]% q4 n+ V) d" B9 f- ^4 ?& B
{
+ x, [1 L1 X7 [+ g if(debug)
6 {, J$ E: F' z" J9 W% X( } {. Q8 Z; h) T y1 ^, H8 `
alert("last!!");6 {5 w, j! _8 y. R6 v
}/ G; A' G# }) ]9 f
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ O; N" B' X3 U+ T
{
# F% Z3 N: q3 v8 I, H& m; Q: b orgNode.parentNode.removeChild(orgNode); 3 J, a+ Z8 Y) ]1 D3 O
}
! W6 G4 f, l5 y/ u4 p G6 R' r }8 s8 w0 j* W4 q! S8 U
else/ T/ V# b, C6 `8 n2 B( h0 \
{; q. e- h2 _' A' N J. W2 u8 k i) J- o
if(debug): B. ]! m b( b* N
{6 J$ ?2 n. G; M* I$ ?
alert("compare color and parent bgcolor!");8 C! a+ Z" s2 q: G$ T( U) {
}
5 _4 f7 p- G6 Z2 d! d, t9 A1 P* ]8 M- a parentBgRGB=getRGB(parentBgColor);
; F" R0 M" W+ m4 s% K. p if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 t* a0 c2 Y; ^% {. A
{& E# B" u3 P3 ~3 P, ?. x8 F4 T1 M
orgNode.parentNode.removeChild(orgNode); 0 v5 q: d/ c1 J5 S/ D" L
}& N' F* v. s4 n: b* v: x6 q* f' i
}! q/ w/ ~' ]6 Z9 t
}% r1 Q0 y0 T/ P! p/ W0 k
}& j% B: t9 E" e5 C* k1 F; n- r
}
5 @& z3 s8 S* w }# x$ q3 Q8 q7 @. `
% d2 v3 \: M$ l( E" ]5 W
! S' I8 R, s" k0 J# x var itemFrames = page.getElementsByTagName("frame");
# Y- S! C# s' |. {: r! q* E var itemiFrames = page.getElementsByTagName("iframe");
& w6 \ f$ E+ t% D% u+ V4 ? ' f; f2 ?7 O2 Z4 F; @7 \ A9 w i
var frame, iframe;2 |# g7 c( R* [+ Z: [, |) p2 p
if (itemFrames.length > 0)
1 n( B4 a, y$ X- ?7 {" N {
. z- P5 {2 \8 k4 d for (var i = 0 ; i< itemFrames.length ; i++)
0 l( |: c0 T0 `8 h7 k. r0 h1 B {
! `& d. j! y7 }, c. k$ F7 [ frame = itemFrames.contentDocument;
7 b# H9 A, G/ s7 N( O this.RemoveHide(frame,objname);
8 e# h& s% X- R }
' R d5 s8 a: P1 W; X1 w8 J* u }
& D: x( q1 p/ Y" R1 p0 W if (itemiFrames.length > 0)* \. J+ l! I9 u% H% D2 i& j% K
{6 E% E$ h, L( V- K
for (var i = 0 ; i < itemiFrames.length ; i++) 4 R( L _% C2 I! D5 d) p4 ~& N4 L
{5 b j6 r: D2 u) T$ N8 J: O4 X
iframe = itemiFrames.contentDocument;$ S" ~1 p% A5 {0 o% _% E: A$ U" r
this.RemoveHide(iframe,objname); 6 q3 G9 y& V5 z/ u2 m
}* w' N1 ]0 g) |" v M
}
8 d9 I/ X# r! i9 ^ }
$ x, R1 [9 f# M catch(e)
5 l4 s/ P- @) E8 M: U {: X; M5 l; h; r% x1 V! _
if(debug)
( D$ |+ @, I8 {+ c- M6 X {
+ I! u+ B6 y; c alert(e.message);7 W+ n+ m; a, h5 H8 X
}4 N: r3 B0 k! h) ?: C2 {2 A2 x
}
) W! B# z& {5 F5 n! G }
. i$ N+ E' C5 t- y" p1 @2 c+ V( C
' r. ]) u# Z; Y8 Y) {2 @/ j, i" Z% Z}
$ i5 {7 {* o6 h
6 `7 t1 \% p2 U/ ?" _function getRGB(colorString)
; r) D S+ p& T! ]' d( [{
2 L$ E7 Q$ [0 M L4 {; Q, b. @1 w var RGB = new Array;: _. \, E# M( ~6 v
var tempSting=colorString.substring(4,colorString.length-1);
2 m* n/ p; |$ h& {1 M var tempArray=tempSting.split(",");
5 Z& [4 u5 e4 z* J" z; h; d% ?
6 s9 _! a+ E* |$ J5 g RGB[0]=parseInt(tempArray[0]);
: e8 ~7 q" s! |* O+ z7 K! i: r RGB[1]=parseInt(tempArray[1]);
) i+ z& W) U/ t( S# Y RGB[2]=parseInt(tempArray[2]);8 y* z) z8 _- L- M7 t! i
; E# U5 X% k* e4 v
return RGB;
0 k$ J, S: z9 i) [. D# ~! h}
# r( n4 {. x: f/ ~4 a Kfunction keys(evt)
) o1 @% J$ g. P4 @9 o { " W+ I6 @, z& O9 S8 \
if(evt.ctrlKey && evt.keyCode=="81") 0 c; u( [ U n A0 j
{ % P7 o; W- @/ z. L1 M3 N
CleanHideObj.on(0,1);2 H- S# z/ }* e0 Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 e6 L/ P. `% x3 [
- H |4 ~, r' I _ }
& W6 _% \. R3 m: d# _3 x+ q P }
1 P) {- W! |* \3 j, p' {; odocument.addEventListener('keydown', keys, false); 1 l( W4 e+ e+ @. [
GM_registerMenuCommand ('Clean Hide',
+ ]! c, m. s+ i+ R; ~8 ^0 xfunction(e){# q# h1 Y# W% n/ s
CleanHideObj.on(0,1)
2 h; e4 }0 a: K0 q* ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# @! L0 g1 J+ |+ ~0 {% g
});7 t' O* h5 S# s+ E/ i5 Y: l i
|
评分
-
查看全部评分
|