|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 G' ^9 j4 D, J& [3 b
6 @3 M i, I# k7 ^, @) |% S) g火狐插件,用猴子) A8 _8 D+ w' B" X" @& h' C
# r4 }1 R1 E9 U! ?( z" tvar debug=false; ; a% ?9 m& R/ o8 @- T
var CleanHideObj=new CleanHideClass();
$ P. v% ^* W1 h2 l6 i9 E5 J3 j9 }! Z3 u9 B0 ?0 M) \% A5 o
function CleanHideClass() + ^+ A' a% }' F# V1 m, u, n
{ * ]/ [* K5 v0 _' s* [3 }
2 m4 H+ m9 S% }( p( G r this.on=function(id,bMZ)
% l7 l s+ @0 s' H$ y( d$ t {/ |* p9 ~/ Z/ F: C6 o9 l+ ]
% r/ R) V, x+ i( @. G4 C
if(id == 0)
3 k( w4 }) _1 c0 d1 G {
6 }0 d1 W' L& m, y- V% T; i* ? var page=/* document.getElementById("content").contentDocument */document; 7 q h$ ]8 v$ o9 v, q8 V
this.RemoveHide(page,"span");' \0 A4 Z- T" z9 ~
this.RemoveHide(page,"font");
, H, Q* {# K5 I3 _ this.RemoveHide(page,"div");
% X' i" z& A3 P: w' l this.RemoveHide(page,"p");1 F4 V7 u+ g) N: Q, |
3 s3 i) h5 R5 d* g& a9 A
}
) U/ W. _: ^4 X: A4 }0 X! T
q: k% }2 B/ S8 t* S# g }- x Y2 L" Z! B% D
this.getobjstyle=function(node,prop)! y) S. P4 |6 P! D4 }3 c: k
{
: {2 Z! |+ t/ t9 O) \; o1 N try& l( B/ [$ V: J2 a; A# C5 S
{
3 p2 O- r' Y- P* |9 ~2 S return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ M' G7 X; V) N! |; L }
/ A+ Z6 U, y/ V( l2 N; M catch(e) U: ~0 a5 \, v
{# E5 a7 m8 V6 A& h& b6 i+ a' J
if(debug)& S _' {) U, Z9 z/ j) A/ L
{9 d% W/ k! C7 \/ J6 x& J9 l6 h' l
alert(e.message);
% r K& x3 T% c. x: u) D P- j }
: ` K) _0 E+ e: V: G 1 }+ q& C* }$ D* o1 q0 a2 i8 }
return "200";# O! ~; S" k. C, N; m
}
2 L/ W& p$ U7 \* f' p) a2 R& M7 d }) D/ V9 B6 Y) a4 K
1 A, {; l2 _: B
this.RemoveHide=function(page,objname): x3 |. j7 ?9 Q
{$ f) \4 D/ n/ w& z3 L6 H( O
try
; A# S; ^( C# r5 A4 u; g" m# M, u {- {) q0 `: _0 F* M) h
var minValue=15;
6 s1 {+ c& n- K- h# ` var objs=page.getElementsByTagName(objname);
- Z5 l' z: D1 w4 t1 E, q# q, S
" y, x4 z S. D D* W t if(objs.length == 0)
5 x$ j }# B1 p9 G* l2 [* H {4 P% _; Z/ Y( a% ]& M' z
if(debug)0 \( s: N6 V1 T5 A. x8 U, |
{* L9 F' q2 M* b8 t
alert("no object found!:"+objname);0 B- \( M5 U+ {
}0 z* m$ h& v1 w- m$ N' b
}3 G! L' M. v" V1 p7 m+ l( {7 Q
else6 ~) Y/ ^2 F: v* j2 m4 d; T4 s
{
/ ]9 G- H# x) O5 b' M: J* T
; m: {; {! `7 M for(var i=objs.length-1;i>=0;i--)
! o* ]1 D3 K4 ~( e2 U8 a& E {$ I3 q" B/ }9 V: R/ K; E* _
var node=objs.item(i); 7 i. |5 y# A6 i
& e5 X6 F" f3 g. S3 d
o# o, Y& t1 O: i# | if(this.getobjstyle(node,"display") == "none" ||/ }( J: l+ n' H9 I% A1 h" K1 F
this.getobjstyle(node,"visibility") =="hidden" ||- M4 J$ I1 B/ t m, z# V9 K
parseInt(this.getobjstyle(node,"font-size")) == 0) & p2 a5 s! J) h$ k8 S- Y5 S$ s9 a; ^/ _
{: [- y$ t: r4 Y
if(debug)
( }$ {( C: J0 T. \ {. f1 O. I; c3 U' u/ `4 i
alert("remove invisiable!");
, Q+ I7 B: m" @+ I }% \% g% T1 m% y; v
node.parentNode.removeChild(node);
- M- q4 H! g' z% P( n' O. b # s5 j# U( P/ K, H+ _8 r+ a" R2 [
}
2 W/ O5 }2 k% @' L3 ` L4 X3 k else 6 y# g" |# P' O* P* F+ h% Z
{
/ l2 [& C8 O% Z8 |7 A0 Z3 s if(node.parentNode) * h6 C1 j9 j2 k( |% N5 z% N1 \
{+ j% Q& Q* t9 G) x' i
var orgNode=node;( s5 s1 }" M) v W4 W# X9 l. }+ K
var orgColor=this.getobjstyle(orgNode,"color")
/ t) z5 [: X3 s' b( E3 j H var orgRGB=getRGB(orgColor); : E& h/ B( s6 `7 G
7 j" u6 P/ n' C0 n- ^1 Q) t& A var parentNode=node.parentNode8 r* [. E: s0 U- j7 H
var parentBgColor=this.getobjstyle(parentNode,"background-color");
% b4 @/ ~: C0 c }* K+ u9 `1 \ ) e+ Y2 X' g$ P! u& U
var isLast=false;9 y( E. ^7 E6 Q! R+ A7 X7 L
4 `0 v1 V3 V$ K4 ~, J
while(parentBgColor == "transparent")
& N; g. c0 F5 U {' e1 D- V. X0 r
4 l, t3 Q7 m/ ?3 z1 p
- D8 K( b r) L( x" b if(parentNode.parentNode == null)
5 C9 p% V% I/ U {
1 E# ]9 B) B( b( f0 M isLast=true;8 @4 A: q0 \5 L$ w2 q
break;; E& K( G, z4 i" z
}
: |# G* `8 `" O% J parentNode=parentNode.parentNode;' @* ^0 P. ?, ?$ q/ g# a. S* ?
parentBgColor=this.getobjstyle(parentNode,"background-color");
1 W- Y$ V; ^' M
* P7 n; z& K0 Y; [ if(parentBgColor != "transparent")
8 k; Z) {3 @) R$ j {6 |+ u0 h: T+ e0 z
break;' _7 ]" Y# A2 r% ^0 [9 U6 V: v4 d
}
( e: E/ J2 h* {& y& h8 P }
$ ?3 W3 k5 E/ c" \ if(isLast)
( p6 o, r9 s2 o+ g% Z/ ]" t {
3 [1 z9 m3 ^: c. A7 V if(debug)
$ S L4 t3 P: P u- T: P2 o0 V {
1 z6 b, }; ~. o4 G5 P alert("last!!");
& K& K3 d' f6 E9 c }
/ q! L) V! g: ^+ g' N# Y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 l1 U- ?0 }. f0 {
{
( I, B3 u: `% [2 z) O orgNode.parentNode.removeChild(orgNode);
B2 E- `& p7 ^1 S }
5 V) y. V5 p7 ^, B+ z* x$ p }/ I6 J" j9 k7 M7 b, r& r
else& k( t8 z1 s% Y6 }; n0 V
{6 ?: _# L* s6 y% I6 j! c0 l
if(debug)" B% k: b, s+ S1 O
{
& Z: I9 G- W- V; M alert("compare color and parent bgcolor!");
& a# z# W9 @& ~+ }* M4 } O }9 B! p) S5 O* q4 P% ?0 }# L5 ^& O
parentBgRGB=getRGB(parentBgColor);
, }" d* O- n& R E' v5 m* s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)): |: k/ e' I8 J1 o
{- v" R7 H8 K2 t$ R9 Q- ] X+ \
orgNode.parentNode.removeChild(orgNode); ) t& m2 x a, Y5 g" \( v1 q# x
}
4 j3 ?. X- L H( d- x }
[4 {0 ?" ~6 {: {1 u }
) D# }6 R4 c5 b" L1 i5 p8 n& G# j }" P& U" ^0 g/ G* q
}
/ k; ~ |" y% C# ?; f T( j }
9 K+ d1 i5 k. q1 r# l 3 _4 B7 t* r5 S' T: A
9 Y* c7 q- O8 n0 R( r+ L( p9 l var itemFrames = page.getElementsByTagName("frame");
# @2 a, [( l4 Z var itemiFrames = page.getElementsByTagName("iframe");
; k# x8 _/ x3 v" q% C. V5 X * M; c1 s! z7 B, @
var frame, iframe;) W9 V5 r) O" G% ]6 v) Y5 v
if (itemFrames.length > 0)0 C& b3 Z8 y/ r. [; n9 t4 b0 @
{
5 L Z0 h# y% ?% _ for (var i = 0 ; i< itemFrames.length ; i++)
8 E/ `2 m- b: f {0 Q0 M# F' h! B, j/ O$ @1 Z) t! u
frame = itemFrames.contentDocument;! [' ~9 O, @ U) G
this.RemoveHide(frame,objname);
* N+ r/ U( e; J7 Y5 u5 k5 x) C }- [6 s' }5 Q7 m. R! n' |
}
* D' @# Y1 y# M2 I9 a2 y3 C3 {8 E if (itemiFrames.length > 0)
J( x" v. |4 W7 T$ @+ N$ R {1 F! Z! o- b( m7 S. i
for (var i = 0 ; i < itemiFrames.length ; i++)
6 o, q7 \% P( C a: b( Z! e {
* ]) i1 W5 E, ?, x iframe = itemiFrames.contentDocument;# { |& Q) {' H* ~: c" Z3 v
this.RemoveHide(iframe,objname); 1 u, s' o* U. O- O9 I2 h
}
( E7 n: Q' o% n }. C" X& N% i% k" C9 N
}
2 e3 k( X, v8 W catch(e)
' `' W, b7 x$ Y5 u { i; u* z/ s7 w, l9 j1 R, z, Y
if(debug)
" C+ r6 u# Q7 a: S3 l& _ {
+ \+ a4 Z3 ]! F5 _( R, D alert(e.message);
/ J' a3 ]! H# @% A }: I' c' f) ?. z) o7 ^4 ?: G
} h7 F$ ^" ^; @' f
}4 z3 V% y) O9 O1 x/ A1 C
7 M9 Z9 v4 h. t6 Q6 J2 N* A1 H
}
& {& |+ Q( l1 ~( {8 ~% z$ i
4 Z0 o4 |! k3 c6 H) z0 U( V5 i. _3 ffunction getRGB(colorString)
& d5 b) ?( d/ c1 \5 J4 Y{4 S7 d: R7 M- S
var RGB = new Array;. N0 C; X3 w7 Q
var tempSting=colorString.substring(4,colorString.length-1);
" e. t8 l A4 J# V var tempArray=tempSting.split(",");
; R; ~ r8 R1 G B* O# |% W/ M# U0 k' T# s! a3 ^! Y( V B+ W
RGB[0]=parseInt(tempArray[0]);/ a8 Z$ ^+ U9 k$ T
RGB[1]=parseInt(tempArray[1]);3 b9 x- n6 l* L7 |( O
RGB[2]=parseInt(tempArray[2]);' U. b0 y1 H# \" C' G; l: z) }
/ @) E1 ~4 ~. e' P/ l! L4 {6 y return RGB;
, C9 ^/ q! c& k) T R- T: C7 ~7 I}
! ?# n6 ] a0 M# d0 Z+ D$ ^function keys(evt)
Z# x- M0 E$ W7 N# h {
! E" _& B3 }6 F8 Q if(evt.ctrlKey && evt.keyCode=="81") ! L8 L- q$ E! W
{ ' ^/ T1 ? Z* m) O2 ]% ?
CleanHideObj.on(0,1);3 r/ A6 B( L( S0 _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: Z/ Y2 B; e/ g! i5 K8 f$ N8 N5 E & M4 s7 |* B8 E
}
- ~9 m% C7 r' z: L) ~ A% m }
4 Q" ~7 K+ Z4 ddocument.addEventListener('keydown', keys, false);
! m% O% ]/ n* E% e9 g2 z( `GM_registerMenuCommand ('Clean Hide',8 b$ z8 L# N0 q- Y
function(e){5 w8 B- C$ q7 m/ w
CleanHideObj.on(0,1)
9 a+ }- p9 ?2 p) c. ?) c8 P* Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 e1 O; X! e2 n0 \, Y
});, S! V& Q! q) {1 k2 e
|
评分
-
查看全部评分
|