|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
q1 r5 b# y/ ]- G; i* V4 |6 U2 Z* b$ r- o" {! e; j
火狐插件,用猴子8 z- L+ S- i7 q$ v. P- W. [
4 k- {! k# L3 q' b; m7 Rvar debug=false;
% ^* E) f; D0 M9 S7 v5 a' v6 Gvar CleanHideObj=new CleanHideClass();
0 o; y' e7 _( x( m& C6 O/ P4 d0 x! g, D& x, L6 e: i9 [# ]% a
function CleanHideClass() + m& }' q! k1 J# W6 e
{ ) W' t# h6 g" g9 Q
/ S$ o' G I1 ` this.on=function(id,bMZ)
. C, }/ ?- Q9 ]0 \, w( N {$ I7 X* j: B) @
! n3 I1 Z" z8 c# u, B. f; Z if(id == 0)$ w' y$ V. @ }- a# Z/ Z9 p* V$ g
{% F/ T+ F* K$ K
var page=/* document.getElementById("content").contentDocument */document; % s4 ^ t G; v+ r
this.RemoveHide(page,"span");
, n5 V+ G/ ^+ i' X1 M V+ [ this.RemoveHide(page,"font");
- J) Y" O1 v0 D6 N this.RemoveHide(page,"div");/ x* w2 s/ ~4 J D& Q% h! a
this.RemoveHide(page,"p"); u4 ?) A3 z2 i' e o& E
* G1 {$ p( ?/ b9 S0 Q+ O }% t1 z. k( I; z! A
* b6 ^% L6 f1 } h* X5 w I/ P }6 k: O( I5 f7 w, D7 b" {& K
this.getobjstyle=function(node,prop)
: T" `. E3 B/ n% h4 w {
( g J, N( E$ l; ?$ x# n8 n" Y8 ?& z try1 ~. W$ c$ I( P& A0 h
{
4 }/ y6 f% p% T# s! z5 ^7 o% O return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 w, Z' c- O- ], ]! R
}' ]% ^9 F3 I: U
catch(e)
. z9 K" A& J0 y! ]) X, H {" w( N' r0 K( _) c4 g
if(debug)
9 M, X( {7 w# F0 D9 g, [ {7 Q# v0 \9 Z K/ C
alert(e.message);( ]$ D" ?, |, A O" a$ e5 Z/ v
}
4 L8 P# h* z6 M- B. q- s# s) f$ u
9 v% J( {! z% V% S) W$ s2 }; D return "200";
$ p, U4 B0 E, x, d( N }7 `5 O1 ~, R3 {
}4 ?( ]$ `! Q6 f1 Q- B
8 f4 R% G& i# t7 b, q this.RemoveHide=function(page,objname)* m* o' U) {: V
{8 j8 ]: `+ B2 i. q4 O# _/ P
try
- i% h ^4 u/ W' i+ U% D: \# R {
( z4 ]& A" I7 `9 g var minValue=15;( h' T, Z T% `& ^" }# f
var objs=page.getElementsByTagName(objname);
/ b' c' i. m& b
2 j9 _% y3 {3 G: r if(objs.length == 0) , n( r4 k( o% _% W
{* F* x- I& T' D5 a1 Z" ~' b( X
if(debug)
7 k4 F3 i: @ `0 Z* \5 o. j {8 j; K0 A& c4 X! {9 S8 t3 E2 g
alert("no object found!:"+objname);
+ B+ W; X; r- r$ L9 {: x$ D }9 H$ n9 |9 N6 Q4 m1 n' N
}8 z# x9 D5 z2 Y1 q, U
else
P( N* _' l: t. C- U) ] {- ?% m+ E4 i9 a- H6 P% w
& c% O* z7 L8 q0 h
for(var i=objs.length-1;i>=0;i--)
6 M7 V6 G5 U+ X7 Z% p r* b {
$ P4 a+ v2 {" `$ K var node=objs.item(i); $ u( \; y& S( D
1 o9 q$ o7 ` H% u* u$ T
" E. ?: L7 M# R3 r# ^
if(this.getobjstyle(node,"display") == "none" ||* M/ Z1 o9 P- k: L& X
this.getobjstyle(node,"visibility") =="hidden" ||8 h+ n4 U3 w t1 \
parseInt(this.getobjstyle(node,"font-size")) == 0)
. {$ h) a( `7 @( P {
$ @# |6 C6 Q$ W; u. d if(debug). \ w5 d. {/ l& R. W. j, H
{
! O: b6 J; {: a alert("remove invisiable!");8 M' P/ v" c, q
}% R* }8 {5 _) P, ]+ C# X, C
node.parentNode.removeChild(node);
/ {+ V. B& Y9 t7 Y" Z # p# v7 o; H2 d1 c8 D' i
}
" S1 @7 B1 N) O; c9 \0 m else
4 D# F. o ]& k0 K3 T) I {
& V& {, u4 M3 r& S, F- r if(node.parentNode)
0 n8 J1 T( C4 j2 k$ f) Z# Z {* I, m5 f$ \$ b4 Y
var orgNode=node;4 g. l5 U5 v+ V8 E6 ]
var orgColor=this.getobjstyle(orgNode,"color")5 ^( A- Z- `" B1 m$ q5 F* }
var orgRGB=getRGB(orgColor);
3 N _( J" s* G$ v/ G* M ' {3 W( @, t' ^( A3 N
var parentNode=node.parentNode
; \! M% E7 [" w4 G: k. x+ o var parentBgColor=this.getobjstyle(parentNode,"background-color");& T7 c6 L0 v( M2 ^$ E
% u" P0 \( T. J. N' p5 O
var isLast=false;
* ?1 Y# ]! N$ U
" {) \/ g! J( H% u) I' C while(parentBgColor == "transparent") 1 S, ]/ p4 m/ W& O e
{
: |- ?! z h$ z
3 [5 t& S5 e0 O2 i
/ k! a; _, _% ]9 M% g4 d0 p if(parentNode.parentNode == null)2 c: c% {% d3 G5 b( V/ R7 h
{* j8 ]2 M( D% a# n+ g7 u
isLast=true;
8 o$ b+ ^9 [8 C( V1 Y' N break;" X% ?6 J9 a# Y! }9 v
}7 h9 I, W" Q$ t0 T
parentNode=parentNode.parentNode;, }6 |- L+ G, O
parentBgColor=this.getobjstyle(parentNode,"background-color");
7 V$ r) D% m3 j( r# L m2 X. P4 \8 j) G9 o
if(parentBgColor != "transparent")
Z$ O0 a2 _8 F9 {2 M {! N/ `# `/ P( r: T: V
break;
4 K4 R, ]) l# c# x9 v8 t$ N" Z }
4 _0 q' K: P2 C5 y& ` }+ {. w5 W# ?1 D5 s
if(isLast)
* D% Y# d+ b- j {0 G# K3 E! N6 O
if(debug)0 [" w' g) m0 N2 M0 S$ \
{( J( @3 V5 U( W6 _
alert("last!!");
8 C9 m8 ^6 f; }2 m }9 c' r Z5 G* Y- R! F( A2 s
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" f3 K4 M9 B } {7 v5 W0 ^3 \/ K$ Q6 ]5 E; F8 v
orgNode.parentNode.removeChild(orgNode); + k5 d1 `" g9 s. C
}. T4 h7 }5 X/ y. \. x, w
}
# e+ L5 L' q ~1 m: c2 _ else; T% ~4 D( o0 K9 I7 l( n7 c, G/ b
{2 F1 |5 c& u9 f, i8 W5 j" [: Y
if(debug)
, x# y% l: V- t7 m$ _ {2 e8 h% l# R9 F7 {9 H2 N5 Q8 j5 i
alert("compare color and parent bgcolor!");/ y4 y3 Z, m% ^) F
}
: o ~$ I. y* c! z parentBgRGB=getRGB(parentBgColor);
# A8 {! m$ K! h9 h if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; a; V1 ^: y9 W" Z- W {$ P( o2 j; `- W/ T
orgNode.parentNode.removeChild(orgNode);
- k: P, M/ n4 I9 E) L4 l5 e1 ~9 f0 ` }
0 `7 q2 L$ A; X }
5 F) F6 x' Y7 Q9 p% u }& }, ]! H; c5 Y5 W: J) \( y! j
}
" t! |( @2 k' p3 c7 m* H8 [ }
, ~; W; J: l/ U% o2 X% y }
8 a; i) t6 @; j, I
' a, o' g- J0 A
[8 h" M/ p! z7 d0 [- v+ { var itemFrames = page.getElementsByTagName("frame");
) q- B5 ~% @; q9 W var itemiFrames = page.getElementsByTagName("iframe");
" h& Q" N3 D. N, Q ' ~1 N% d c/ E7 A: y
var frame, iframe;1 {% M$ W6 m5 n2 s" }7 Q
if (itemFrames.length > 0)
6 W' v. h0 h( R% Y. |3 x: ?. z {; r7 o/ r0 z! c7 _! Z+ M
for (var i = 0 ; i< itemFrames.length ; i++) 2 f+ w$ o4 k+ E% d2 R$ ~
{+ x' f$ K* ^1 R
frame = itemFrames.contentDocument;
( ?' Z: a- h: ]2 O+ e7 |0 u4 y this.RemoveHide(frame,objname); * |! d& M" b' P8 C- d9 u" }6 |( y
}
4 H `. m0 I6 D1 G) W$ l3 z4 U; { }
2 ]1 L+ V5 M' v! H7 S C: n if (itemiFrames.length > 0)
# z8 X7 N! i, ?# k8 y( `$ | {
; B$ I/ W& Y1 S! G for (var i = 0 ; i < itemiFrames.length ; i++) " G# X* v3 E- C3 t! C1 M3 B
{ P$ n/ A- \# E
iframe = itemiFrames.contentDocument;
" z2 }- Q6 X: \0 Y7 o this.RemoveHide(iframe,objname);
4 k1 Y7 t9 N' D( k1 L }+ l! e$ ?0 s; n8 ?% ]( J& b
}
4 e1 ~: N4 ?" N( A3 A0 M, E }
' J* i* V/ d6 n. c, c catch(e)$ q# ?1 g1 F1 x' @' u" j
{
7 D2 u2 F' G" L if(debug)
4 r6 m8 @2 u# \) A7 O$ W {
7 ?2 N, [* d! v2 s1 J E3 Q+ q alert(e.message);8 o0 s; P4 z6 `# x
}
8 V( P# o; E& A- q }* q0 m2 O6 r5 t- G" [
}4 _, Y( l5 A) z( t% b5 W
! }9 ]1 W0 K; p3 x- F ^4 O}
" ~3 O! `8 K _
/ X4 o% C/ I6 n" U: b D- V9 Ifunction getRGB(colorString)& q* B' n4 k/ z7 Z2 E
{
; Q' A( o% b+ p5 C var RGB = new Array;; Y% q, ?9 V G1 S. q
var tempSting=colorString.substring(4,colorString.length-1);* h- H% N3 g' Y* O
var tempArray=tempSting.split(",");1 \3 ~3 E/ {, Q' m/ H" I
" `. Q$ p& q* ^- Y% K! d
RGB[0]=parseInt(tempArray[0]);2 P) ]3 c5 x7 Y% B- L" Z
RGB[1]=parseInt(tempArray[1]);& `; \% B* T. u0 ^8 p6 L
RGB[2]=parseInt(tempArray[2]);" N" S( i% j, }5 Y" h( r* s( a
; r& \$ X- G# w
return RGB;
9 ]0 {" P n) y" N; z1 G0 @}
1 i& K. }! Z6 G; m* Gfunction keys(evt) / E; w: d4 ?0 U, N; v" `
{
0 b$ e/ Q3 W! d8 p/ Z, W if(evt.ctrlKey && evt.keyCode=="81")
' A/ h2 N( ]. _) C { 3 }8 d: d, J2 {# R! E
CleanHideObj.on(0,1); f7 p y' l" U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 B* ], Z$ n' w
i% C) `$ x; Y* j6 y' Y5 m } ' V! k' s' m) K
}
% N9 ~5 e% V( u+ K% ^7 w' ?document.addEventListener('keydown', keys, false);
5 V" M, u% E5 C* WGM_registerMenuCommand ('Clean Hide',6 N' t5 u& y$ c
function(e){: M, g% I. N0 B! b/ O0 J
CleanHideObj.on(0,1)* i3 ~. k: E4 ?) `; `4 S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" `2 ?# C, U, ^});
- s, n9 i% ]& _, u. I# s& { |
评分
-
查看全部评分
|