|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 L& _: T$ M! e; `' q6 i
% g/ C- v0 v" C, L& @6 D
火狐插件,用猴子
1 q) [: A- h9 O% t% Z% G( T
' o) k- u1 S f! c, o1 \8 kvar debug=false; ' O& M3 O7 U. v3 g) e
var CleanHideObj=new CleanHideClass();# a$ e E4 D2 r0 f% I$ k# j; V
9 D( W5 T( i2 r- N
function CleanHideClass()
' O1 Q/ o8 i, [{ 7 N& y f# l" u# J! m; z
% s+ I% B. z. f1 ~/ W this.on=function(id,bMZ)* i; r( q& w& u2 b. D1 s
{( }5 G( C# O& R" c7 Y& k. C
/ x9 J" T3 f2 r6 N if(id == 0)
& d' G4 W, \* g$ z" p0 A- ` {! f$ d5 m; K5 }- G
var page=/* document.getElementById("content").contentDocument */document; 0 h) p( Q/ A( K, A6 Z6 _7 s9 d
this.RemoveHide(page,"span");
, q8 Y# j% T9 N! e this.RemoveHide(page,"font");4 l' N4 ]/ W/ F9 H
this.RemoveHide(page,"div");
7 ^2 S# K( Z4 t9 s3 J0 Z9 F this.RemoveHide(page,"p");; P( a0 u+ K, e8 q
" `- t K: |5 |2 v; J" Y }
6 x8 C& Z. x4 g
0 d; T. A% i) C: Z# i }' O, Y1 D7 c4 `& i6 G
this.getobjstyle=function(node,prop)7 a1 A( ?* d' E% D. ^0 p( B
{* ] X+ ]# U# q/ E
try& H( E8 G/ x K, v. E
{
' @& D& `; }8 E" G- i* \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 N3 i& g6 Y2 ^3 F' D }
2 C' L* H1 W* w catch(e)( i. o0 o* [' j Z: P
{
& v. ]/ ]4 ~. u; S- J* |- O4 C. t if(debug)
/ {6 S, g; I3 Z) O2 f- j {4 f6 x2 ~: R" [" R. P
alert(e.message);
0 m2 m2 c& W" S! o }# M& P, t* j; z; d& H
6 T8 ^* c# G! e ~ return "200";
6 q) I5 Z4 ]( N- r' |6 s6 @ }
7 W4 i) J; O7 H7 p3 W }
L+ Q2 ?2 D& q; y3 `, c* b
& H3 ]" e; {) l this.RemoveHide=function(page,objname)4 f: V) K2 {% u N
{$ o3 O; w* R H) R$ i
try
$ ^ g9 h7 ]/ X/ N8 h5 t$ R {
! m4 A s5 x5 v5 C# n: v# @+ m- x var minValue=15;
9 c1 K) m3 R! [+ S* ~ var objs=page.getElementsByTagName(objname);
5 C3 U9 E( E: k6 j$ `7 Q
" }3 y3 C/ o, n9 l% y3 ?1 P& i6 _8 N. M if(objs.length == 0) $ F7 w1 T% D8 Z* p8 ^
{
. U" A* r2 v' q! L7 A if(debug)
3 B' }" X9 W! k! J- [( f3 s! B {: Q: ?( X' d/ {4 M0 j( P
alert("no object found!:"+objname);
: q# z* S* i% H' Z5 a }6 {+ n7 [0 o! W7 i
}
0 J2 v$ D0 ^5 d X" T else q1 [) S( j# i7 I+ ]+ G& E3 H: V
{
4 L& O0 v r4 e, G9 t5 C% ? # D+ G6 Y, u9 f
for(var i=objs.length-1;i>=0;i--) 3 k( k5 V. ^. C* @! N/ j
{
4 f6 H9 c5 D. A# I var node=objs.item(i); * I1 j+ c1 c. W n# o. z
' N3 t2 e6 ]( }" {+ @
, t( z4 g$ v- n+ k6 n. S if(this.getobjstyle(node,"display") == "none" ||
8 _. z! n) S: T6 N7 B8 |& G0 @ this.getobjstyle(node,"visibility") =="hidden" ||
* y1 ^2 V0 H) o. O0 g; { parseInt(this.getobjstyle(node,"font-size")) == 0) " _* }+ A0 H6 Y/ @
{7 N; G( @4 p0 L, T
if(debug)
9 \# S& ^- I& {5 p {
1 J P# U: u4 j, c- G0 Q c J- F alert("remove invisiable!");) l! ]3 G* Y( K1 I6 [
} u5 _: R# |! N. Z2 {( u
node.parentNode.removeChild(node);: y9 s4 G3 {- L; V2 a* G
r B) g& U% }% m, I1 O% p }7 G; A6 j5 [, J3 Z1 F( }
else . Q. g& Y- q+ o- X' i+ P" M5 R
{/ m3 Y9 B# p$ d# _9 |
if(node.parentNode)
# a' J! `9 u/ V {
; \* V2 k( f6 u) K var orgNode=node;
- R& B3 G }2 I# i var orgColor=this.getobjstyle(orgNode,"color")8 K9 [# R- A& ^7 u: T& x& A! i% r
var orgRGB=getRGB(orgColor);
v6 x4 {& X2 Z: i- A( e9 Q
( z% b9 v# |: G% n) V* F0 J' w6 ] var parentNode=node.parentNode/ I- g2 ?6 O! {4 T
var parentBgColor=this.getobjstyle(parentNode,"background-color");9 h# |3 a' M+ _
: ~3 E" l0 K& W. F
var isLast=false;, e+ Z8 C S1 R1 G
* Q5 |' r2 ~9 X ~, u: I: d
while(parentBgColor == "transparent") 6 f E) i. ^8 o* o# g3 ]
{
0 Y+ c. \1 u6 ^0 r3 O # O' D! J8 w2 m+ a' r u
' f( d% c, ?" q( [# Y2 Y7 `" J1 I if(parentNode.parentNode == null)$ S" M7 c, T; P- L
{
3 U( T4 A2 z, L' g8 |9 B" Z' ` isLast=true;) Q1 c T4 p! K+ y. v8 e- G
break;+ ?6 [6 @7 P: S4 z! e
}7 U! p/ }! e* T5 D+ a+ }* U; p
parentNode=parentNode.parentNode;4 ]5 q8 S, M V: R6 M
parentBgColor=this.getobjstyle(parentNode,"background-color");4 |. z H" b& D. u; D, M; a. N; D
. t+ k V0 p7 } ^, D; @& m
if(parentBgColor != "transparent") 1 k2 Q* Z1 x6 K) Y" ~
{
9 F: q; T$ c7 d4 t. I$ ~ break;
4 G3 N. |: f: d }$ a6 I c; k' O) b* O3 P
}
$ x9 ^: G& N9 P1 N. H9 F if(isLast) ! `! B) O* f2 J" |1 [6 X
{/ m8 N) Z R5 i) o, E9 }
if(debug)
& G \, P y" e) V- G {
/ O" q" ~( m ?$ Z alert("last!!");6 B* e/ r' E& Q9 G, X
}2 Q# Y' Q) @. b0 X
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))# z4 S5 O3 w# H" e9 h& p$ @
{7 L+ j! i# S6 U
orgNode.parentNode.removeChild(orgNode);
/ {7 C. W# @, m4 _ n# ? }
& X$ j# M9 `* W& I' s: Q3 V }
3 Q. L/ m5 \: H$ p* q else
" b) s9 G3 p1 | t! K {- m' ^1 L* z2 D% O
if(debug)% x2 ~: D2 A" f. d _. j! x1 u
{) D6 ^( A, I/ ]/ G! k8 a: n9 K
alert("compare color and parent bgcolor!");% o A) z/ ?0 K/ W& g/ T5 {
}5 Z4 |/ b" X R/ w
parentBgRGB=getRGB(parentBgColor);" C, A3 n, x7 P# N q( c/ Z3 n. k9 ]
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))" g+ d2 Q4 O, E8 }) |: D
{
9 E0 L, y9 n1 f orgNode.parentNode.removeChild(orgNode);
6 o5 y% i9 S/ ^5 e# ^ }9 K+ d% U5 B6 X' S
}8 t5 F. P. x6 s- d' \$ y
}
7 ]" L9 \: _: u6 q l8 F* `* Y8 K }5 |9 t5 _7 q; R
}
2 o" s+ X+ p. `3 Q( b! A5 C }" X- S. s' Q& T; E! D6 I: v& L) y. r/ M" t
. j+ A" Q) Z l- q; s ! J" S, @0 [# K4 z' |
var itemFrames = page.getElementsByTagName("frame");
# }$ i) p; B1 A* j: S var itemiFrames = page.getElementsByTagName("iframe");: ?/ P( A7 K* g9 V4 ?, }7 z
, }5 k' r: R* B
var frame, iframe;
/ F& p u4 v- z4 W/ l# i3 h& m if (itemFrames.length > 0)6 S4 o$ N T4 y" I6 {
{
4 C+ a2 ?9 m5 V. o for (var i = 0 ; i< itemFrames.length ; i++)
9 q, @2 N7 O" X {
6 ^ I9 e/ H/ | frame = itemFrames.contentDocument;0 S7 j+ g5 A4 f1 n) A- j$ }
this.RemoveHide(frame,objname); * y3 s" P9 n) p0 I
}
0 X4 N. p" ]; o' V- v }
% \1 B+ [5 H4 f! V5 @ if (itemiFrames.length > 0)
) Q1 }* e/ b* C) @* w& C" } {- @- V8 V, K. {9 S. m
for (var i = 0 ; i < itemiFrames.length ; i++)
- L9 a8 a" s2 W) ?& b9 ]5 R {# d' O, r" M7 F+ m
iframe = itemiFrames.contentDocument;
* R& A0 h: o! z! [* H this.RemoveHide(iframe,objname);
) P( [$ V4 g& o }
$ \; I2 ]4 x# q$ D& Y8 s2 g }
+ v4 V: c9 F4 V( u/ T8 G }
\9 x: O0 x0 i3 f catch(e)
6 n2 U$ j: X W) |* r7 B. T& x {8 `6 R9 j3 T) \. H& C2 c3 i
if(debug)
3 E4 e" n! ?6 Y# ?" f3 H {
% G! Y, u- A( K2 X; q# [ alert(e.message);
/ D3 t9 ~: x) t }
& ^- N# A3 o$ ^8 W$ ~" d A }
( ^6 C% z3 l/ Q; [" \; } }
. Q9 @* f6 M# Q4 J `2 A 5 G3 n% F- P: o) t6 E
} X5 ^5 s' M: K2 U/ W, _
; W* \2 I6 o' x9 K1 xfunction getRGB(colorString)
) G0 J' N+ H5 Y# v, l8 ]* ^# ~{' W+ ]' |" A' O3 ^- P& K( n
var RGB = new Array;1 W" r# p( n: G) o! c' r& e
var tempSting=colorString.substring(4,colorString.length-1);6 ]( d/ e! e# V. Y
var tempArray=tempSting.split(",");
& q1 _9 g E; Y4 D* s7 m2 z$ ~! Z5 x1 \. T# h4 ]+ b6 \0 I
RGB[0]=parseInt(tempArray[0]);( _2 r. ]1 F0 S0 I' J
RGB[1]=parseInt(tempArray[1]);
; H( V/ a9 e; S! H8 O" J2 N RGB[2]=parseInt(tempArray[2]);& |4 w/ r% [% l( f0 A0 V9 r) S+ O
% O* \: J; n* m" T( e, V: x1 d, s- ? return RGB;" T6 P9 `9 a) s* k" V# d
}; ^8 V5 X2 Z9 Z3 }( ]
function keys(evt) ; H6 Y4 B7 O0 k0 a) W) v* h/ W
{
1 v8 e0 J# M! k r. @ if(evt.ctrlKey && evt.keyCode=="81")
- t% b4 G! b, L* V' b { 0 E' W# }* v& v/ q' p+ A! j
CleanHideObj.on(0,1);8 o% n R1 G, y# X% ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ `' G @2 U' ^7 I" y
7 V$ d& I1 x/ p) M \3 M }
5 O9 O: \7 u3 I# T* _) z }
% K7 Z# g J1 t) f* ^5 B1 e/ qdocument.addEventListener('keydown', keys, false); : V: G# a! F3 E7 D4 y5 S2 ^. O1 @, e
GM_registerMenuCommand ('Clean Hide',/ ~; {6 G( m8 g! d3 A+ L" l. I
function(e){
+ \ J! N2 t' l0 oCleanHideObj.on(0,1)) L- L6 P% P: {' ?# ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 V4 o3 a: N9 ^6 I/ r3 q});
* e& p: a3 y4 n) X |
评分
-
查看全部评分
|