|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 B3 }6 J) X$ G% \; z: B- t
1 H! O9 C: l: i2 y9 H. ^火狐插件,用猴子* u( ^' X! m) m
% `, c0 u3 e4 K1 s8 i6 j F
var debug=false; ! }: n, Z8 }) C, z
var CleanHideObj=new CleanHideClass();
9 _9 D; z; u4 o: \& |
" M# X5 A& V4 l, x( x8 ~function CleanHideClass() + K. X3 p- R; j% {5 R, V) `
{ l/ q/ W( T, u
& L/ r( `# p* r% D
this.on=function(id,bMZ)2 ~, p s2 ?6 d* T- }
{$ L+ f9 H \5 [+ n/ {0 T2 _
( G3 U+ [! W4 t* ^8 k; w8 L$ `7 d5 Q if(id == 0)( n3 P4 p, O% ]3 H0 L
{9 i3 R9 `( N% Z u7 u
var page=/* document.getElementById("content").contentDocument */document;
; k* J; g$ `4 I" n# q/ S! d this.RemoveHide(page,"span");
% M, _" y& W7 m: A' q! o0 G+ b this.RemoveHide(page,"font");8 ^6 I; s# S5 [0 j
this.RemoveHide(page,"div");' ?2 b0 U' ]/ Z _
this.RemoveHide(page,"p");
) Y; i1 [9 f B8 {/ ?( Z
9 j; F5 g. W8 o! ^5 k% W }
$ ~# g* e& A# ?+ l& T% Q0 U7 i. F
7 p$ Y, o$ q. Y% r }- E' N/ W) b# {6 f( B# g' m
this.getobjstyle=function(node,prop)
, `7 K& I7 P w7 u" i5 x {
+ Y7 M5 m! `, V# q0 |! t try9 \. j6 t; {/ ~1 \$ c! }7 e. |
{
- \8 w0 I3 X0 G- e return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
% e1 C- z" f6 F }
( `1 Q$ }- Y) X/ W& }* f0 ~& H catch(e)
$ Z# p8 y0 J" D( O6 }, @. B3 ? {
3 \8 F/ r7 `' R if(debug)) E1 f: T4 o" `( O- b
{
- t3 v4 _- z4 Z4 L0 Q' l, F alert(e.message);
8 u, P8 ~) r$ s/ ]( H }
A- [# G7 \& _
$ @8 C& i" T! c' n: Y* ]4 D0 } return "200";7 F, W3 X7 s$ V7 u' L5 U1 g
}
4 i3 s# [, W# X( e. W. h1 i' q }
8 ^) n7 W: K% Y2 ^ * [ V7 Z1 M) ?
this.RemoveHide=function(page,objname)
: e+ L, S7 p3 @* V {
* k7 ?7 {+ T! y) W+ Y try; A4 ]5 a+ Y6 }. v/ {7 d- d2 @/ ]' j
{
& @2 l+ Z% O# G5 J% X8 y var minValue=15;) e5 {8 G7 S# \) F1 [6 e6 ] e
var objs=page.getElementsByTagName(objname);
8 K6 |* X9 ~& K a- V2 [
+ V. J& M! E: T$ X& p/ u if(objs.length == 0)
( a( n9 c- ^4 l& H' I; A {
6 ], ]; n' M; ~3 }6 j if(debug)4 ^* _2 K3 R: z) Y
{
/ |2 v% j; U6 H! U; O+ w alert("no object found!:"+objname);
7 Z7 R% k' k0 I- x }
8 ]# ^* P6 c- U% w: K5 J9 K7 Z; l }" t. ^( A2 H! R/ F9 i
else! Z. `2 U5 ?4 F& [, A9 {& y
{
7 J) q. \* \9 v% t/ o
7 R4 O" J& s7 c; i for(var i=objs.length-1;i>=0;i--)
6 b1 \7 b3 Z3 z# r {
1 D6 w+ T9 |8 d# p/ J* c( G var node=objs.item(i); 7 z4 E) y( r) h4 r
/ ]( ~5 Z# j6 Z$ o8 i/ a
3 b' h V" ~$ K% G. V if(this.getobjstyle(node,"display") == "none" ||
" r; `$ Y( o% p( _/ F. } this.getobjstyle(node,"visibility") =="hidden" ||
- V) j) g l* c8 \0 ?9 L7 s parseInt(this.getobjstyle(node,"font-size")) == 0)
! P2 j. M4 n/ P1 }/ I {
% q7 n" `) w7 m% D if(debug): r& n! N/ l3 }( O
{
5 T8 B+ E8 W7 p8 t6 d0 L alert("remove invisiable!");
. u7 {* t* J0 A ^3 @" [ }
0 x3 E' ^' q ]! ~/ C t$ e node.parentNode.removeChild(node);& ] ^+ a* i: {% n2 ^
! Q3 U0 _- t, g# \# k7 w$ s }
& e6 [) M, p# r else 8 s- X# k8 W' @& E
{
" b; G" a ^& t! K9 o: ~5 M if(node.parentNode)
8 ?- b, U0 q0 D9 G( X( h {1 O" w9 w* n" T3 _
var orgNode=node;/ s/ b; H5 @$ Z4 A ^4 r
var orgColor=this.getobjstyle(orgNode,"color")& T3 J* V) w- g! v: {& I' i
var orgRGB=getRGB(orgColor); / D9 }8 z: h( ~, i, Y
7 q' L9 B. \4 J# {0 Z# y- L var parentNode=node.parentNode3 V: B3 ^- ^* q; h; [" P- H
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 B- W& c b) L! X! k
( M$ }! X# f E: ?/ T7 h5 u1 X var isLast=false;
" z# w! P& I; b( F # @- N6 K6 C7 E4 O2 \
while(parentBgColor == "transparent")
' H/ }. e' t6 V- C/ a( R1 a1 X* W; L {
# i1 c, g Z/ b5 `
7 t. f( a$ w2 Y8 a ! w8 j* A3 d: Y, f' @9 O+ p$ Y5 _
if(parentNode.parentNode == null)' \) ^4 [, C# Z* V5 \# U' {
{
0 h# N/ O3 Q# ~* q8 P3 b isLast=true;$ m# a) O5 I: Q1 [
break;
7 f8 C4 }- u) Q" w+ _3 r2 ~, Y6 N }
+ {- v1 B [" M0 v8 L( s; ]! d parentNode=parentNode.parentNode;
- G! ~, H5 z, T1 K( Q2 l' y1 S+ Y# D parentBgColor=this.getobjstyle(parentNode,"background-color");" m/ K3 ?# y6 `
9 {' C B' A- m7 I" L' y
if(parentBgColor != "transparent")
7 }! \8 ^ y$ ~& h: } {4 R! S6 s5 I$ y* e8 t) l
break;; ?) O/ ^/ H6 |' ~9 T$ Z
}
) Y k8 v$ X0 \: U" v }
' ?; d/ R) x0 V! i, S if(isLast)
, ]' o* J& v- M2 |% n, D {6 f3 u' \9 i+ q: y' {& b& w+ o
if(debug)
* w& Y9 u4 x6 ~9 ?' |& [ {
. ] V% |3 O( G+ N alert("last!!");9 t% [4 B) ~! }$ ]8 M0 m, W
}
+ B& h8 _4 M6 l# K, d6 `( h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% E$ R$ c" b" y
{$ Q* Q7 q9 j7 S2 V4 E' G5 V
orgNode.parentNode.removeChild(orgNode);
9 a% u9 F# A& r3 A$ l2 ~ s X% X8 k }; o$ H1 ]: [6 [! G+ G; q! w
}+ A6 |* N# I6 ~/ ]2 B# {
else9 M6 d" i2 c5 J
{- k% S2 T2 e; _/ m
if(debug)
( S: C# I! ~ v* ~& J5 j2 T* E {2 N. k' X& m c, h/ A% F) R: R! f4 y
alert("compare color and parent bgcolor!");/ E( G6 f6 c1 ^0 a+ t
}. T# R. H2 {% ^. I
parentBgRGB=getRGB(parentBgColor);" y; Z2 n3 z' L6 ^! p+ J8 _
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ u, r& `5 }5 ]2 k, i3 A8 e! k9 y0 n2 h+ ? {7 U9 a% [" \. w: ~: b, ?
orgNode.parentNode.removeChild(orgNode); 6 |/ E& B2 x4 B! p
}
+ a0 c$ _% O0 A n% e }5 P# w, H5 ]- [# `( O) R
}
8 Y# c; P# L1 ? }2 _/ {5 u3 T; N) O
}: U0 @3 M3 I% g. F: j
}
7 t; a. T0 d0 S: n" X
7 Q, S! n+ ^/ {2 K & X) f7 u: r- {6 U+ Q
var itemFrames = page.getElementsByTagName("frame");
. }2 O4 U: M4 [$ ?$ ~: ^1 k var itemiFrames = page.getElementsByTagName("iframe");/ w, l/ [- Q3 n9 {* d4 |6 o
: e1 z- Q9 u- q; w, B1 S
var frame, iframe;
7 j! d& g; m6 Y- ^& v! U, W, B if (itemFrames.length > 0)
% C7 @8 m' P( {0 v {
, a, o' H5 h0 K$ o2 I for (var i = 0 ; i< itemFrames.length ; i++) 4 r" S* {( g5 I
{
" {" H8 Q' s2 B- w frame = itemFrames.contentDocument;
, y; S; {- y- v2 v$ J# e9 E5 u this.RemoveHide(frame,objname); $ q! u# H# \( g6 i: ~: ?' b
}
+ _3 K" r: e- H. b }
5 W7 x2 m4 o# G6 q4 g1 n; F/ W if (itemiFrames.length > 0)1 M7 D2 P% u( V% v4 L: Q
{+ a' U5 |: L" l4 i& K
for (var i = 0 ; i < itemiFrames.length ; i++)
$ g2 o9 O/ M1 W2 c! F* n# h {6 J$ c& P3 @/ J2 X2 u1 o
iframe = itemiFrames.contentDocument;' ~; \: I% I& O% v4 o5 |, i" T
this.RemoveHide(iframe,objname);
* o, H6 a0 `$ d, {3 D }% a' j& s$ A5 b6 P' c3 k
}
; d& K3 g( [; } }, T: ]: ]6 q0 q" P: i! I
catch(e)+ Q/ m5 `) k7 v. |' a. |" t5 o
{9 M1 ~- Q! r1 {9 g+ M+ N
if(debug)
8 X3 f" ?( b: x& H7 m: @ {
0 z6 x4 G& O4 h/ C( \3 G3 K alert(e.message);& G% I' a( I# X3 C/ r2 }- l
}4 d1 t4 \4 X# l
}( A1 d+ T0 W7 f: P
}4 c4 b0 V8 P* T! ` i8 A: D8 V* T! J
0 z7 x' N5 S/ H- K& G" \ h0 I
}' j- @( ?1 N* X+ S8 g. J3 E! }& X
% r5 T* I U2 V' U& A! t* o- gfunction getRGB(colorString)
% C. N8 d0 L9 ]9 ]. u% r6 O{
$ F9 Y8 j$ f3 [2 K& V8 K var RGB = new Array;
1 r% K% K6 K' n- a S3 ?/ E& y: X var tempSting=colorString.substring(4,colorString.length-1);% J+ Y) x# k- c9 y7 ?
var tempArray=tempSting.split(",");) |5 [; Y4 D# n+ J8 v1 P7 A/ p, W7 O
8 C) Z; {3 Y4 n x) i
RGB[0]=parseInt(tempArray[0]);% K, Y) O7 P! s% A
RGB[1]=parseInt(tempArray[1]);# B4 X) E6 T0 j& k8 k* ?2 E4 V
RGB[2]=parseInt(tempArray[2]);0 q# S3 [& A8 h4 e9 f. b) \
$ I, x! s" q' E6 D return RGB;
+ v: E7 g; G$ G3 F; l0 W}' ]2 O$ r! [! r$ e5 o
function keys(evt)
8 _) A$ J& i% M& _* L* h2 ? {
& z3 V% ]2 X# q7 a# K if(evt.ctrlKey && evt.keyCode=="81")
% g0 l/ ]2 K* N7 y5 K& } {
7 T3 B. Q: M1 g3 y P1 x% D5 m" C CleanHideObj.on(0,1);1 _5 K! I6 `+ ^4 l% q- ?& d5 \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 K4 l: o( q/ ?4 c2 ?8 q( ^ " M6 u! V& U/ W8 Q+ n
}
" C9 V" S r7 O3 r% V+ Y }
9 s: t' s# x: u; o% }& Edocument.addEventListener('keydown', keys, false);
0 m4 M2 |' n ^/ _GM_registerMenuCommand ('Clean Hide',. [/ |; j% d; a# L2 ~7 ]' a, [; o
function(e){+ C: \$ _0 C2 {- g- Q( k7 Z
CleanHideObj.on(0,1)
( K; c Q! w* X. ~alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# N" i3 G: Y, f6 y, c$ e+ g& @});
2 {# ~9 s3 N% L: h( N |
评分
-
查看全部评分
|