|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . d$ v, }2 }, Q7 n9 G$ _
- [& j3 c) q$ A# Y) m0 G! W6 Q/ V火狐插件,用猴子; b: h" o; o6 R. \" M3 ?
; l1 q, a. D, S3 M2 C
var debug=false; % r) I. V2 o: D. t
var CleanHideObj=new CleanHideClass();
" u$ `4 k! V; P! G2 J
- \) h* M% n# {- i1 U* t5 v4 S" Zfunction CleanHideClass() 2 h% G4 c" b/ N* g9 K" Y
{ . |! S) }5 P4 h! k3 W
9 ]$ Z2 X! C2 y: C* s
this.on=function(id,bMZ)
; x7 W/ Z+ z9 X3 s" Z {
% q: T! {6 |4 g5 a7 M Y& E
" T4 \1 n1 O! N* c; `8 F: L2 D if(id == 0)
4 n" J* j7 h% V {$ N; {; l6 L. g+ Z- j9 m. C- \
var page=/* document.getElementById("content").contentDocument */document;
" \. W+ M7 U0 l9 W9 c) C- v+ S" _ this.RemoveHide(page,"span");# }' W; H4 p& t
this.RemoveHide(page,"font");
9 A: Q! z8 E! L& { this.RemoveHide(page,"div");8 d/ x4 x* ^) i- Y% Y8 m! h0 m
this.RemoveHide(page,"p");; x5 Y. m9 p2 A- r. l1 h
2 {6 |& H4 K" `6 \# t' m
}$ A0 X. N3 V; s% M, L
& R _) w5 ^# S: m# j. }6 k }% t; y: W" o% \1 B9 r( I" x! E
this.getobjstyle=function(node,prop)' ~: f, x7 M, d% e# r
{
* V' v( u8 _ ?1 j6 @$ I) g$ |+ h+ Y try
: M4 t0 S* _6 U. O4 \ {
3 v8 z7 x" V* q& y6 x return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
5 _7 ?) F* n8 l% e% d8 O' n; [ }& g8 x, p! {8 p( F& r( ~
catch(e)
' x. P h6 r+ p! Z T {: U+ q' G* g* d: Y# u# l3 v" g! `
if(debug)4 p; r `! R% d
{
! u' J6 o& S' ?' j alert(e.message);
# N2 `+ Q' |. E8 J* V0 o }
1 W. d1 g1 J6 f6 d' \2 I& p* o ( N+ q) x& o% L* U
return "200";8 o: y& d7 P4 s& g' [
}& f: \3 J1 z$ e# ]7 ?5 [7 C
}
7 C4 Y+ k. O' s! J
( f. U/ k e7 O+ r( a' _+ k this.RemoveHide=function(page,objname)0 I& ^# P( i3 Z
{+ I7 S1 U! V* @% y* z: Q1 d# B8 K% e
try: H4 e, c! G, M
{
9 B' L) |: X$ Z- \ v+ `8 O% U4 n var minValue=15;
, B: a. @/ W# w9 p* ]5 p+ W var objs=page.getElementsByTagName(objname);
; \ A0 x- S: d3 l
' T5 K# _% P7 e8 y: S if(objs.length == 0) ! t! c A6 H$ M
{
/ Q$ L y+ }5 q if(debug). v8 x* X p; d6 O' d0 L
{
. Q1 r% x+ ^4 E5 E alert("no object found!:"+objname);7 N7 K, |2 p6 x& ~
}
_6 ~- a( I! Y/ { }0 E1 A6 Z' E: l
else
/ K0 \ P( i1 k+ }7 L7 X9 B8 \: S& l8 x {
. V% d. m) l, q6 a; L
+ d1 w$ v: K7 ~ for(var i=objs.length-1;i>=0;i--)
! B. H8 x( ^% ~ {
' l+ f+ U/ f. |, n var node=objs.item(i);
) t. |$ D9 i$ X6 d5 B
/ s- h" U! [3 P9 y. j+ J8 D, Q
! l% y$ E, b; o$ I( N! P. V3 E if(this.getobjstyle(node,"display") == "none" ||, I0 M1 N5 Y- J: ?$ N
this.getobjstyle(node,"visibility") =="hidden" ||: }8 G1 Z$ V$ G; T
parseInt(this.getobjstyle(node,"font-size")) == 0) % C) ~ ~+ P# x$ J8 N1 D
{: q: k5 }2 A0 H5 |, N
if(debug)
5 @2 j- F& n2 y: W1 i {
/ S) F5 h6 T! A5 I d alert("remove invisiable!");% l- I. C' p9 V8 ^
}
6 c- ]; W! ]% t node.parentNode.removeChild(node);
1 g$ L0 q$ I* I7 g- G& Z+ p6 { ' U7 \4 M8 N9 S5 Y
}
2 g; [! F" j6 e5 x O3 V7 _ else : Y1 w. |" `6 \) y' b
{: q1 Q- `/ ^& ~
if(node.parentNode) . U; N2 T- j1 u: m8 J9 F; T
{
7 b' R4 _/ d8 I4 h; O var orgNode=node;
; g1 I% @; [" z5 c L6 F var orgColor=this.getobjstyle(orgNode,"color")
+ i" K) p% x2 ?* X7 o) C2 Q0 ? var orgRGB=getRGB(orgColor); ' q1 _+ u/ x; u/ @" I* H
: [) W. e/ J: e3 z
var parentNode=node.parentNode
0 C+ T; D8 N+ x1 t5 l/ U var parentBgColor=this.getobjstyle(parentNode,"background-color");2 B1 ^+ x0 P# g6 ]8 Q
3 G5 ?& x: V6 n6 W
var isLast=false;
9 l7 \3 T% M1 h5 U6 { & F8 R( `9 c" [' i4 U8 t6 X
while(parentBgColor == "transparent") 1 G3 {1 y0 k x6 W% L
{1 P- R8 I+ a1 t- W2 Q/ g" ^0 {' b
: P. |9 R! B6 I- @- G" j' s. _ [1 W
$ R u! y' a7 u# @& q" w0 C8 f( Q
if(parentNode.parentNode == null)
8 F1 c/ Z! |/ ^ {
3 T' T; s9 W; ?* H# D* n: ^ isLast=true;
2 C' y0 l1 E' q" g2 l5 Q break;
9 Y, H3 G9 s+ ~& v3 n }
1 ^ J) e9 f3 V) W. C: R parentNode=parentNode.parentNode;* r2 C- h: l' Y) s Q' |
parentBgColor=this.getobjstyle(parentNode,"background-color");3 S* S9 Q( Y# {) M8 @. k! S
; u% J5 M6 t" a5 X( O" [4 w1 S! ?: r if(parentBgColor != "transparent") ; u" y% r( G* H1 o
{
8 s3 b, b& ^ h) Y; ?8 _9 T# ^" | break;
8 t1 M. w1 P, I* |, R" T }
( i+ X9 A* ]9 a }
, C2 Q1 L: N0 z' ?9 U if(isLast) " O4 U+ g+ [" R( h1 k% S7 o
{$ ~; i$ H2 P% u- ^" F
if(debug)4 I) D! u6 ~3 b' j0 F' L
{
8 \: k$ S1 @, Y" |0 ?% Z8 ^ alert("last!!");+ k$ b4 I: [6 Y/ j2 V
}& u' D0 [+ `3 G" M6 @2 R$ N% y4 o
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
- @& k& E5 k" W2 Z' v' |! x: d! R% f {
% M* I, D) T( t# C+ t1 h orgNode.parentNode.removeChild(orgNode); & D( X8 q1 r1 Z4 G+ s) I# ~
}
; @" y. B) h8 h3 | }3 m' z- Y) Z, U+ j
else2 R! S$ L+ g2 S% v& ?" P
{& f2 \! c( ?: l, z& a$ t# C9 W" M
if(debug)
1 r9 o ~+ b4 E+ `, |* L* C {( }) g* k: F# m
alert("compare color and parent bgcolor!");
* U/ `. g+ T! D O, N }
' H1 s {) n( S! m* Z, T7 d a parentBgRGB=getRGB(parentBgColor);
" T; W9 B k1 b0 H$ n' R+ k: d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 A; p* D& {3 Q) m4 J J
{
z( a) s0 `" D5 r0 Y; X) X orgNode.parentNode.removeChild(orgNode);
1 N g# o: ?: `' D" C; ~$ x" Q }
6 X6 @: `8 D7 { }
9 F1 z0 T5 F1 A }
1 D% W" g( N: F7 A }& k1 l5 ?/ d. E
}
6 A3 U( ~; x9 O% z% K P; D }) N i# m/ o, O2 ^) f# J1 J
& y7 M' X8 z6 r3 k, }' i
2 K8 U+ W; |/ Q$ p9 \ m+ c* ]. L var itemFrames = page.getElementsByTagName("frame"); A" l/ S3 H6 j3 ]2 C% h& F% r
var itemiFrames = page.getElementsByTagName("iframe");& r& u) T' t& }+ Q; o
/ K3 {/ L2 L4 S7 F; q9 ] var frame, iframe; H5 X' b. B. I, R9 W6 C" W
if (itemFrames.length > 0)' a6 Q' f* J: L( p% O$ }- B% S$ x- |' ?
{
1 g& @$ U0 @ A for (var i = 0 ; i< itemFrames.length ; i++) " N. e& Z+ [5 L
{$ `/ l1 Q. j' g6 k
frame = itemFrames.contentDocument;- M7 j2 \$ Q8 S$ }9 T1 Q
this.RemoveHide(frame,objname); / c# `: H! }- Q- D! z
}. N; `, [( S1 [. v. U J
}' r5 Y+ A/ C; L) f
if (itemiFrames.length > 0)1 Y5 R. t$ e& g% e
{
% ?- n6 ?' g' N H for (var i = 0 ; i < itemiFrames.length ; i++) 7 A2 Q2 A! |6 i2 ?
{
X1 Q% ?2 |" w iframe = itemiFrames.contentDocument;
# R0 f) m/ } v# Z0 W9 ~ this.RemoveHide(iframe,objname);
+ |' @ _. f, C# Y. l. i: V6 j }
; z# E- X3 O0 R% ~ }
1 d f9 \2 b) |7 k$ f9 _7 O }0 v8 x2 s" @ s$ f5 X+ ?/ Q1 ^
catch(e)0 N- ^/ r, B: T% P( d* K% S
{7 ~: V! T3 ~4 U6 v
if(debug)
+ v( D: T1 G4 }, L$ ]3 o {
6 _" x6 t8 j, J/ I: D9 Y! d" r- Z alert(e.message);
% l+ s# ]+ o. X$ w* C, j& [& F; p }
3 M. s9 |. l2 |6 s }
1 c/ Y3 F6 x7 `( S2 a }
/ l6 V* Z# b8 n( U0 v2 E
; F, {( ]3 |3 E. u8 Y) \" f}
$ C r; i( l3 ^4 I, W& _2 W" x7 ^# a4 @, [8 }
function getRGB(colorString)
/ l2 K: Q3 U- c. Z{
4 M) M1 k% z1 H3 X5 ^ var RGB = new Array;9 }0 L8 g Q, |6 r$ C
var tempSting=colorString.substring(4,colorString.length-1);$ Y) H7 k T0 B) q* E: `* E
var tempArray=tempSting.split(",");
& Y E ~ Q6 \/ Y" z7 C5 `" g
# m' ?) c" X" O" m* { RGB[0]=parseInt(tempArray[0]);
! _: \+ y8 a+ Z. g& V RGB[1]=parseInt(tempArray[1]);& _6 w* o% T+ U9 \" f
RGB[2]=parseInt(tempArray[2]);
0 q, I0 c& ~' w: k+ O' Q% x; \
' \, |5 l5 ?& ~ return RGB; B/ m) p: y$ M
}
& y/ l$ V4 o8 e% bfunction keys(evt)
+ [ e" o+ q& K: v {
7 U2 p* w& L- l6 v if(evt.ctrlKey && evt.keyCode=="81") 7 o7 a, i5 j& O/ g
{ 7 v) w. [ W$ _: J- o/ |, c* `
CleanHideObj.on(0,1);
- W; p. m% s% t8 a alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! a2 M( c( w/ `' o1 }
$ e* ?7 U- X3 u* D2 M
}
& b( _, \( o' q+ F6 a( B O } 3 o" e/ S% X6 Q
document.addEventListener('keydown', keys, false); 7 U2 E3 e) o5 I
GM_registerMenuCommand ('Clean Hide',8 X1 S- L+ R5 o- D* ~7 A _! r. ~
function(e){
' [8 T5 |- N$ J/ o7 g6 | ~ h. bCleanHideObj.on(0,1)5 W5 N( p! ~- x" e* @3 C$ g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 Z: f" P. h/ T7 G( l* G z
});
/ D9 G q- d; j' a. L4 G |
评分
-
查看全部评分
|