|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ @/ }; o4 _3 Q: Y% \( \
+ j$ g% q( z' H4 J& `, m火狐插件,用猴子
: I# ?9 i7 G7 H# L- M2 r1 t" E3 \9 Z
var debug=false;
! p! w4 C8 `5 Z! qvar CleanHideObj=new CleanHideClass();3 V `4 V# a% ? L. t' |
' M/ O9 U% O! O, C$ o( J+ sfunction CleanHideClass()
9 M1 i* H9 L: z* y6 H- k{
1 b e* P5 V% M: _; T0 | : J% u. P A4 n5 ~2 K1 m9 m
this.on=function(id,bMZ)
1 {6 f' H! V# Q% U9 x {
; c& f" E; j/ c4 u3 O$ |0 X3 P3 T + I9 M+ M, D7 Z, V
if(id == 0)& ~; S7 g8 I- H$ q7 V7 }& k' L
{) S; y# w' w H+ [7 _) h
var page=/* document.getElementById("content").contentDocument */document;
, V$ b% {% Q/ Q this.RemoveHide(page,"span");, o s+ D+ @" l0 `! Y3 f/ j8 e7 k
this.RemoveHide(page,"font");! W6 D/ l8 U7 e
this.RemoveHide(page,"div");
" E* E# G2 l3 T u' i this.RemoveHide(page,"p");
' q6 Z3 j5 m8 {% v $ X* A! l1 T) F0 E, o3 a/ X5 M
}
5 ^& I8 o! l/ D6 o" ]$ y) g ( {& Z X6 c1 Z8 Q: w
}
# t8 p6 _2 u0 P. ]' H4 R this.getobjstyle=function(node,prop)) m4 M' ?$ `8 G! x9 I6 z' f
{& b4 o' X4 ~8 S# J8 Z) B
try; ^, }* f4 T# x5 M8 x; M
{6 {) @9 D2 w9 r
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 J# N+ s# V3 q0 ^ }# ]# O1 \" b7 ?1 n H
catch(e)
/ E5 _* X2 n( |, t! u. G+ L) S0 k {: `! R$ s5 J% t" L* i
if(debug)
( Z, n9 R# Q" c* B5 u {" F* }. I' r) ^( M+ E
alert(e.message);' k' g. `+ l/ A' T! ?
}& s+ b* h8 M* V9 }
) Z* \' _5 I, b
return "200";0 y7 s0 e+ @- V6 w8 ?6 v
}2 x' T1 Y8 b. m
}
; R* {3 w& w* |- k0 W& ` 0 ~& N+ j/ `) z+ J7 d
this.RemoveHide=function(page,objname)9 K, H' v- x1 U" [/ \7 J
{
/ i N) J% I( T try6 V b# f1 c7 d' p B
{' Q9 @- s, ?8 G: U! j
var minValue=15;
2 P6 h3 F- S# | var objs=page.getElementsByTagName(objname); , e X% H# j9 u) A9 h
0 {! L( E3 T$ U; D if(objs.length == 0) - d% l( c6 n- E
{
) \$ M! e7 u2 b; }+ X2 j# {/ y if(debug)
; A: \* i. r( F. \* L+ ?; q# F( { {
% g. v. ~) J% B" @ alert("no object found!:"+objname);
; i- B0 q- \7 S, s7 ~' [ }
. G5 r: ~0 D% S! u/ H1 n }2 ^2 D3 P4 q! o! M9 t2 g. c$ A5 w, x
else: q9 W# k* `* k
{
3 c( u6 U4 }; f P5 D* F* |5 }6 \
2 _# i \, |, X+ E0 { for(var i=objs.length-1;i>=0;i--)
/ q6 D* I* k1 Q8 k7 B {
1 \. J9 A$ @3 A5 j var node=objs.item(i);
7 Z# u! ~8 D Q6 `5 T1 F 4 ^! G; _, h m% d G! ?9 j. H0 Z
6 \5 i: [$ L4 @, n. c; e if(this.getobjstyle(node,"display") == "none" ||
4 M9 ~ B% j; M this.getobjstyle(node,"visibility") =="hidden" ||) Q3 X# r& h2 B5 [# S X, a
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ D8 ~2 b# z# { e {
7 q5 t4 A) l$ F3 w if(debug): _& l) M3 }# p# N: G
{
; |7 T4 L1 l5 H) z; S: S- [ alert("remove invisiable!");
$ v1 g2 _! c' G' J$ m) ? }
9 C( _5 ]. M: S0 Q8 K node.parentNode.removeChild(node);$ K; \, e4 B% h! C0 s
8 Q7 Q7 ~) d5 Z. e
}
1 H- r8 Y5 M% F+ O) r! b else
! w+ l D% Q( E! `+ | v {7 o. t) M9 v" b* R9 x; ?
if(node.parentNode) ) s6 d$ q* D# k) E. q0 F8 u
{; e! v5 A4 Z# ~ S
var orgNode=node;
, D5 }3 c; }( I% i var orgColor=this.getobjstyle(orgNode,"color")5 S( `. g1 } ^( r% G6 B
var orgRGB=getRGB(orgColor); - I+ c4 U$ x) g! r; o; c. T5 {/ d! v
; ^" v8 r4 _1 @- ^4 G) U, a& I
var parentNode=node.parentNode4 x+ b3 ?5 Y' A2 q# }
var parentBgColor=this.getobjstyle(parentNode,"background-color");3 R D+ y) d1 s1 H
5 m- Q1 c6 M/ ~# d: I var isLast=false;% J" q. q* Y; V0 f1 ~9 ~ ~
: x# ~6 ~' X2 J& {4 Y9 D while(parentBgColor == "transparent") # z! S, \2 C6 `1 A2 L+ E
{: {- }6 e4 Y" u' }. N9 K; z0 e- M
# @4 E% n# j5 }, d# e* A E# d& b : t+ r* P z0 p. h/ f
if(parentNode.parentNode == null)# ^0 D# `. c$ D* X" T
{
. u+ X) ~. ?. }1 f, Q& ?# v; b7 k isLast=true;9 G" }; B7 s# w/ u; A7 `7 |* m2 ^
break;
& b6 |& B% _( o) k1 ? }
6 `6 x: V9 U) t parentNode=parentNode.parentNode;" _0 p5 p$ z `4 T4 I$ B$ L
parentBgColor=this.getobjstyle(parentNode,"background-color");; |0 |6 n7 ^8 ]' U
/ Z- N/ ?5 h4 f if(parentBgColor != "transparent")
+ V! w3 a! w1 u7 x) \) g' T {
) w2 c! W5 ?: c$ F4 d; B0 x break;% R# g/ I8 J# Y2 q5 v2 E
}$ p- `) u7 i6 k) S! z- \6 k
}& r0 m) J4 z. f. b# |! f
if(isLast) ( f+ p6 E3 u& G: i) e4 @3 w
{9 u% a) m& c( ?0 c
if(debug)' B8 k7 M7 {, i3 p# w
{3 v/ f+ v7 w. [
alert("last!!");1 Q* _ @$ N; b j8 ?2 B0 ~
}
. @* A3 u8 U: D: V- u if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 |# B5 O9 h' y* ]' x/ p# F3 ~
{
! z+ `% U% z& T1 y, K orgNode.parentNode.removeChild(orgNode);
% t+ U) l) T4 V; @- A }
8 [2 y" p- e, x }" D! a& [( @8 \2 R/ a8 U
else* c. u; d- ?% \% U, [
{, b B( D0 e7 m0 u$ q
if(debug)
6 k: B/ X3 ]+ s! x& Y: Y( o {
- F2 k/ y, l& x }4 ]9 A( l alert("compare color and parent bgcolor!");8 ?* Y$ A) K! ^( L% q! G
}
9 T5 r* a% }) ^5 {9 \; R4 _ parentBgRGB=getRGB(parentBgColor);: K7 [# I2 n4 q1 p; F1 Q) b1 y
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' F: x. M- d5 b; e% C {
n( |5 c q3 `& g orgNode.parentNode.removeChild(orgNode);
3 J. W6 E1 o+ v& j }' F5 F/ Y1 j, z* t: a( M( V ~0 _
}
) v% n% a3 I+ p* i3 F# D- M }, q0 Z9 ~' l* ~2 ?0 _; Z1 `9 k3 W
}
4 E8 X! ^) s/ P" f8 Q/ r }0 A1 f" H6 T! _: P
}$ a& m' W8 b- H5 A
! D) O0 b1 P4 i- E6 |* F
6 @% @# G6 c; i9 T7 q var itemFrames = page.getElementsByTagName("frame");
, ^: c2 V/ q! R$ A! ~ var itemiFrames = page.getElementsByTagName("iframe");
9 `! d+ _6 g6 Z* R& A! w , x* ?5 e1 G. b' ^
var frame, iframe;
5 j6 z; Q" ?+ V' S if (itemFrames.length > 0)3 O" u2 `8 `5 ?/ Q
{
- a# B3 a, Q# `& X8 v for (var i = 0 ; i< itemFrames.length ; i++)
4 \8 F9 Y3 o: b! @5 q: N {# R3 t; p! F0 a3 Z
frame = itemFrames.contentDocument;
$ q! A' X) I; a" o; y& w' {% R# Z; P this.RemoveHide(frame,objname); - h4 d R" O9 q! H
}7 I" J$ q. j4 l
}
& _! r1 K, }# `% H; [ F4 j if (itemiFrames.length > 0)" }5 x& w- ~4 d& z
{
9 M7 M/ s r# P' \ for (var i = 0 ; i < itemiFrames.length ; i++)
' u7 ]# p# Y, T U: X {
: N; M4 L% V- r# q' U- R" C iframe = itemiFrames.contentDocument;. ?( e( Y* b$ j
this.RemoveHide(iframe,objname);
/ I5 K( }3 ^% A }
$ u D6 e# h) ]& `2 u2 Q }
# [ G( l9 Q$ r c }4 n) H6 Y/ f& ?" [5 X, I$ r* u
catch(e)
1 [- U, z9 w3 Q/ M | {7 L- k/ ^( O. w% b: ^
if(debug)
# G* i$ O5 o5 c: f {
5 E7 [+ a0 B5 m- K2 E( j: u alert(e.message);
, C5 |* l4 l& A! C5 [; L" e6 A }
! ^- v1 k1 D* _9 J/ [4 B* h% e }
" ~9 _% Z9 s7 g# m& k: p+ v/ i }/ T3 r% z) @4 Y; f
) r7 k- d7 s6 r
}
& N- ?. d/ {) z, e9 d( E! \: d2 f( K! h0 }
function getRGB(colorString)
8 U3 A& d. T9 O! _{
4 E t# j" O2 e% r5 H5 T, U4 v, F var RGB = new Array;
0 q. { z( @& ~; L5 b- P var tempSting=colorString.substring(4,colorString.length-1);0 h8 y2 c5 B2 \1 M' R) Y
var tempArray=tempSting.split(",");
& m: F+ U9 S: D# _; v6 ~9 z$ |& |- m1 B& W& k) M8 W2 S# S( [
RGB[0]=parseInt(tempArray[0]);9 c$ R% F, P _, k) v
RGB[1]=parseInt(tempArray[1]);* R! F: D3 _# O8 ?5 I" U
RGB[2]=parseInt(tempArray[2]);
: U+ _& ^; k5 P( b! b$ P0 e0 c, t " q. e8 `0 }, d9 \' z* k' ^
return RGB;7 x9 s3 W5 a# e9 X
}/ r: g- }( M5 b& D2 L2 F
function keys(evt) 0 r& ^8 ]& O f/ ?9 k) T4 p- P
{ / U4 L c3 i1 s# x7 V
if(evt.ctrlKey && evt.keyCode=="81") 1 F- m0 S$ L Z3 f; y
{
7 R* \) w$ W: A7 o- F3 K CleanHideObj.on(0,1);/ }; [$ ~, a' I: N1 o+ }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( S! q/ M+ [: F1 s5 Z, c& a
% G) o q( P9 K6 s# K3 n
}
" G, m8 Q5 I6 ]% u5 u" b& ? }
6 i8 x2 u' O4 @% \% ?document.addEventListener('keydown', keys, false);
, ~& V' c$ Q" X! t( m" vGM_registerMenuCommand ('Clean Hide',4 f; V i* \; i4 @
function(e){
% B! z: ]9 {: l# S9 s5 R* B+ WCleanHideObj.on(0,1)
1 a9 c7 y5 B% d' yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: V0 X% N! P$ P7 F( F1 Q% t
});
) U4 {) i1 B. W4 c) o8 l+ i3 t7 V |
评分
-
查看全部评分
|