|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' P# [% S6 Z4 M' j z' u! @% E6 x; U" y: W+ r
火狐插件,用猴子6 ~; k- O. ~9 y/ U0 s1 v& Q1 b C. ^4 ~
) ?) R. @7 x* }var debug=false;
% W' y8 V: R% e, U. W' Ivar CleanHideObj=new CleanHideClass();9 Z7 K& Z8 _. ]1 g X1 }5 s: C
0 K" A9 v ^7 T: i# @1 }+ m8 A
function CleanHideClass()
# p+ n p% i0 W( q' D) q$ F{ 3 A E- C4 i% \
- }2 m3 v7 S, Y' @) J this.on=function(id,bMZ)2 g7 K) Y o& Y8 N* G- G G( G; |7 E, @$ I
{
( A0 @) J7 ]; f9 B7 n7 ]9 W* U / @$ g- B1 f" i$ S u8 L0 t
if(id == 0)
3 X: d6 @+ X) u% k: P8 I1 R {
0 ~" m0 J, D; K7 X var page=/* document.getElementById("content").contentDocument */document; 3 o' U) ~1 s/ U$ C/ Z0 }# w
this.RemoveHide(page,"span");3 P, l# _4 Y1 V$ r+ e* G$ S
this.RemoveHide(page,"font");4 F& q- l9 A% k) `
this.RemoveHide(page,"div");
# E8 O7 V5 z1 n U* p0 e( R. i this.RemoveHide(page,"p");1 l8 t. d, H. h5 j/ o2 X
1 @" B- y2 G! B
}: v8 i7 V C( s5 v
8 _" a8 H; f3 ^- R$ ^
}
( q/ X. Y. c& a% `$ R this.getobjstyle=function(node,prop)- v& J5 O2 \- |1 |# ?: p3 U4 q
{% _( o6 j1 ^" M2 H
try ?2 q& `& S3 A0 y# O v
{
6 s8 t1 c. q3 Q& ~1 a# V return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 A# K( `; Q7 U' G6 |0 w
}
1 p6 P5 g9 w+ M0 I2 N& T catch(e)
) J8 S5 Q8 @9 q$ |4 @* I, H {$ I" l+ l3 n8 O
if(debug)
+ G( |' ~& |% g/ I! C! v {' {) ? ?$ u' ^1 _. a; `
alert(e.message);$ G2 P6 v: O; M1 y2 `( D% r" [' N
}
/ J1 s& b6 F9 N( F ) A! @2 }* K3 i
return "200";: N m1 _$ }" s; W) `
}, A& n$ c. J! Z" d
}" C6 N5 z, s6 o+ p
6 z$ E; a. n5 Q5 l this.RemoveHide=function(page,objname)
" n5 j8 a1 b4 q G, L; ~ {, c a7 S$ A; H+ x1 R0 P5 C8 E
try# H" @1 X0 }1 @7 d
{
0 i3 S0 S4 S# k# c7 A' K8 d var minValue=15;% T2 a5 M" s$ D0 w% h" q; ~* u- E$ y
var objs=page.getElementsByTagName(objname); " M: l# b2 X5 R# [/ W: l" q- L
O2 _( s, `* Y1 j
if(objs.length == 0) F; t2 Y/ @8 ?0 y% L
{" B8 E' G7 j0 L; h
if(debug)& E: m& o& J7 i! o$ o) s
{
, \/ j9 |* G/ w3 {1 l( m- j alert("no object found!:"+objname);9 J- ^% I9 R2 w3 y
}
+ `$ @( U$ C* i }2 p! d* x8 l Q
else8 x E4 G( Y/ F& x, ]
{
/ X7 @* Z9 p* l) H7 J8 ^3 m' S ) k2 a- L7 ~ ]( s. o+ C' t
for(var i=objs.length-1;i>=0;i--) 1 M2 E& {( ^$ _! e# v7 _3 t* ^* \
{
7 s# J$ W i q+ [- x, f K; Z var node=objs.item(i); ; i9 A9 ]5 Z& U- }) S+ \/ z, V
/ f |( E0 a( o" c3 o7 b1 N
4 s& A3 ^1 O. w1 m. @ if(this.getobjstyle(node,"display") == "none" ||4 l/ @- R( k6 y! p6 c/ N
this.getobjstyle(node,"visibility") =="hidden" ||% N4 ]8 `7 W, g! v% K9 y
parseInt(this.getobjstyle(node,"font-size")) == 0) ! M9 G' g; v$ D/ l2 C+ y5 [5 y( i
{
5 P& v2 Y/ N$ z. l8 A if(debug)- e2 U" z2 G$ Q$ [" Q
{& _) a. Y$ n1 Q( i. z8 s# R3 E
alert("remove invisiable!");
$ ]# G1 P) \6 P9 f% k }
8 _. c; K. |# F: z( } node.parentNode.removeChild(node);- U* B2 a2 R! c5 C4 Y2 _
5 ]. B8 C2 M1 S* N- V
}
; \6 V# }( R' H$ j. L& Y; \ else - r& C [; H# [3 I1 B1 G7 }4 y
{# e! U+ w3 s- j0 `2 k
if(node.parentNode)
, s0 G3 c4 E8 A/ P3 }% V) u {$ Q' u+ R0 z; ?0 \/ m8 ~0 r
var orgNode=node;
8 e" c$ a6 b, { var orgColor=this.getobjstyle(orgNode,"color")7 H, ~' l o4 x! p& q; B/ @- X9 B* f
var orgRGB=getRGB(orgColor);
+ Q8 y% E& G9 R: a
3 s! ?: D+ q: P7 o y var parentNode=node.parentNode1 N- z7 G5 ? w5 T8 c7 E
var parentBgColor=this.getobjstyle(parentNode,"background-color");( m: g( I; \4 [3 b4 y
4 F+ ?% K3 j _$ f% e
var isLast=false;+ l0 D) W+ o' N# C0 l. z4 e0 M
4 F% E& I0 N! c4 q M' J, b while(parentBgColor == "transparent")
+ |# j" K! c5 m% V {' @) g% ]3 l' m
7 T$ F$ B3 C% [5 A$ M
8 g; I. P$ E. ^, p
if(parentNode.parentNode == null)0 }. p6 X4 }$ D# S% u$ d
{
, L* P. s% v0 t/ v* g isLast=true;% O# {6 P1 s8 W$ a z' C4 S
break;" ]0 n& p, d* Z9 G# O
}1 i8 O3 ~" V0 O4 N, L) \- _
parentNode=parentNode.parentNode;
8 d# M2 E% w. l" `# F& U0 _! O parentBgColor=this.getobjstyle(parentNode,"background-color");
8 ^- r2 a& l- b6 H7 ]
6 z5 a; j( O* G9 B0 {2 V* ? if(parentBgColor != "transparent") + o5 u* v3 X9 ~9 P: V# [
{# w4 w$ D/ U. r: b) u, A
break;! ~7 Q' `) P, C, a/ v
}
3 Y t( U% I* J7 N) `$ r5 ?# X5 s* `5 X }1 C. l" y3 L& D7 ?) \) W
if(isLast) 2 x% N/ _' `& k- w/ u
{7 x& |0 W- l( w+ p% x' k b
if(debug)5 D7 |3 H' |& ]$ l L! M
{
% U0 O( l9 Q j8 y# r+ I; N; m' } alert("last!!");
c; q$ z! l5 ?0 c }
8 V' b, u' x E5 s# h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: o; y2 B% l; Z7 \. Z+ j9 U" i3 v {
2 w: v' e; C% d7 v0 g2 S# o/ l8 p orgNode.parentNode.removeChild(orgNode);
+ [) }3 o2 |9 Y$ v6 o a }
9 u4 J0 R b, m+ p# p) m# p* |: J }+ N5 |1 e/ b. M- m
else8 h7 x7 j% R7 t9 T
{% ]9 \7 f; ?7 B
if(debug)
+ M* W; k3 \1 I" c. d& I {
6 O8 l# \1 j/ _8 Q; J% z alert("compare color and parent bgcolor!");* s- ]! a; i, k/ i* T* c3 K
}
) k8 u# \3 F6 l parentBgRGB=getRGB(parentBgColor);
) Q4 }7 P# S4 i if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% I6 M. I8 S3 O8 H* T
{, B0 e4 g. @7 }
orgNode.parentNode.removeChild(orgNode); 7 i8 @- A! P0 Q. v$ j, T2 P# \
}
, g$ ^/ V- B: x x }: l& b3 Q4 E: F) \& G2 j7 f5 T# J, A
}+ W! o& C2 E) T7 Z
}
* [7 Y5 e( K8 x1 g, i" v }2 H: k. q& ?: L) z n
}
2 d! r% G6 A& U- s+ N 0 L- y; P! ~% j% o; G
* X$ `% o' P- k3 K u9 E var itemFrames = page.getElementsByTagName("frame");
+ t( U/ r E5 B var itemiFrames = page.getElementsByTagName("iframe");
3 N7 P: @* o$ c; W; N. F' h
: h8 u2 \2 m% ^* S var frame, iframe;7 M X% Q5 k' l) f+ c8 l# M
if (itemFrames.length > 0)3 B6 A- v6 N$ y
{2 k- O; v- [& }& L% z4 y1 P
for (var i = 0 ; i< itemFrames.length ; i++) ( M1 m; H5 o% }* Y/ l! M
{4 ` b" g# N( M1 X2 z" B* z
frame = itemFrames.contentDocument;/ K8 j2 z$ Z3 k8 k# N3 t2 W* w
this.RemoveHide(frame,objname); : N5 f/ D7 _ a; t2 |
}
- D: F6 y" [0 X4 L3 A+ |7 c* g9 U+ _ }4 p+ d. j* p/ V; A5 U2 Q% j
if (itemiFrames.length > 0)+ W& ~4 W4 Y* _8 B* }
{
) \7 `0 g& D0 G5 S$ }/ y for (var i = 0 ; i < itemiFrames.length ; i++)
n5 j* e# W7 S {
, A6 k; f, d$ H0 C& Y, R0 I7 z- _ iframe = itemiFrames.contentDocument;# K7 o. F( \4 T" p
this.RemoveHide(iframe,objname);
3 }& A, p) d! _0 }% c2 w }8 V5 V/ p+ c7 I
}3 k, {+ N( _2 b+ v0 x. d" \
}2 V- r4 A$ @* a1 P/ K! i
catch(e)
9 C9 e: C0 r: w9 p8 H; B& E+ f4 {( p/ ] {
% M9 j$ `% | A' g) p# ]4 g5 A if(debug)
5 x8 |6 `: N/ J( {# y( X5 d1 m% E5 y {) d8 Q$ ^7 K3 J
alert(e.message);
# `4 K. f; u7 a1 _9 L }6 n k) w0 J$ k" @6 E8 n) l
}4 ^0 s; N- q/ x7 ]3 k
}
& J+ m. ?5 \* r% `2 ] # p2 Z9 S3 M: e% l4 D3 c
}
; W c! k R8 ~, |: M8 W4 @$ |) p- m: M/ V
function getRGB(colorString)) l2 R I, ]& Z6 v; j9 q- F
{
. W8 `9 \- _- y4 w% i% N var RGB = new Array;( K: u. [5 s- G% E- U4 Y
var tempSting=colorString.substring(4,colorString.length-1);/ p/ b! c( L# M- g7 I- A3 H
var tempArray=tempSting.split(",");5 a+ i" j, e3 R$ B
6 s) g. \& p3 f, r RGB[0]=parseInt(tempArray[0]);
# P0 g& @$ F6 H" n0 t RGB[1]=parseInt(tempArray[1]);' p$ D( w) _5 i" f2 _8 D# h. ?
RGB[2]=parseInt(tempArray[2]);
0 s* Y& q/ [' Q
1 }& M9 \ m1 K# r* W6 k return RGB;. C6 b' l6 ?* i( L, z
}
3 `2 U0 Q! ~/ H" Bfunction keys(evt) 6 V1 t; X4 y/ P
{
1 Y8 s- d. }! M+ a8 D$ B6 r( W if(evt.ctrlKey && evt.keyCode=="81") 3 O2 B. ]( b3 i5 m& P
{
0 e* c/ }& o) f* D" O CleanHideObj.on(0,1);7 n" A0 Y+ s% v% O, o
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& s: L% k: S% j, J5 X- { 5 a# c3 g$ V, } U
}
# E8 D( t) r: ]2 \" E }
$ h7 t$ x/ Z. Adocument.addEventListener('keydown', keys, false); & k8 Q% M; z( a6 f0 W% Q- t. V* k. e
GM_registerMenuCommand ('Clean Hide',3 [' Z& ?4 o& z" b
function(e){
0 q: |# M8 X6 Z' [5 iCleanHideObj.on(0,1)
- R C1 ~" \ p0 a- o, Salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
H0 W5 b v6 R; ?9 o# I" E1 M});, H- y5 F" I, V- r- W9 J
|
评分
-
查看全部评分
|