|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- i8 a5 y$ d9 e
3 U. k& C5 G* ^" O5 A/ `9 P4 k6 J火狐插件,用猴子
$ U4 k/ Z8 U1 p M8 m
* d) W' n# c+ ]% Q' }7 U1 H( jvar debug=false; 7 U& v- ^, y9 o# T, i L
var CleanHideObj=new CleanHideClass();
; A e( c4 h" S( v T# L) U% x2 |2 {7 o( _" t' k
function CleanHideClass() % o b8 ~: ~3 Y. j V6 R8 w9 m9 N- g
{ 7 N; v3 Z; a9 m% C
1 q* \+ x' |3 H" M this.on=function(id,bMZ)! K" j* \+ R/ \6 j9 X
{" U, L( s1 ~; o6 A$ c' d
! ~8 S, B7 |+ n5 j) A
if(id == 0)
& R; w. d. _5 u/ t+ d {
# V/ C0 {9 @4 {8 F$ { var page=/* document.getElementById("content").contentDocument */document; 2 W5 a- x: f, H8 Y S4 k8 i! e
this.RemoveHide(page,"span");
( t' O$ o4 B' O! v this.RemoveHide(page,"font");) g) p: O+ U. W+ }
this.RemoveHide(page,"div");, v# V! x/ d1 ]9 n! L7 L
this.RemoveHide(page,"p");9 J( }- Z8 U! v/ N0 q
0 ?: _9 ?6 r' k: g( {) r) ~, i }# ~& @+ e3 R, I5 u' \- F
7 ?5 z x9 C8 o) ]* p }$ M* y [" e, p+ r
this.getobjstyle=function(node,prop)1 q0 ]0 f$ T. q& O7 Z+ Y; u/ x3 I
{
+ M5 a8 M( ` f5 |. U3 c try" T9 Z( O: J# j4 S- e5 n6 u* M4 c2 T
{
8 E3 \6 @% o5 U( Y1 a3 ^ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 B9 `* ^ f& G3 A$ `+ x
}' x' Z( D8 o1 a/ H! \! W# M
catch(e)
+ K3 l8 b# J9 B' M9 t {
7 X3 m% Z$ X S) b2 Z3 } if(debug)3 w" q8 K9 `$ T3 ]( O. r; q; c
{
6 u% O/ }8 a# _' j; Z& g3 i0 G alert(e.message);0 x* E: [# f! n+ w* n% q: o
}% `8 j8 M. S5 V) V( g& h
^1 R- K. C( q4 { return "200";% U: A. w. K" y8 f
}( ~4 z& Z# `0 B1 l" h4 l
}
$ x6 Z% |; ]7 h ( Q7 F; ]' k$ B7 P( j) L
this.RemoveHide=function(page,objname): @# O+ r5 h& _% e1 D; n2 d
{% x2 c0 ]9 I5 O% S' h6 P
try. {# y# e$ g0 N; ]
{
" b: ^2 F, A4 n var minValue=15;$ r+ H L9 ~' O6 w2 W
var objs=page.getElementsByTagName(objname);
) u e% w$ M' ~% I. L
+ _+ g* u. Z) v4 i: [6 h. F if(objs.length == 0)
5 \4 t( ] k8 w9 V5 b2 x; w% H {1 ~- i5 P& B" T* V% i: L3 d+ s2 }
if(debug)
8 f8 C) a' w" R' V# v% x {1 C+ R# @8 x5 j3 i& A3 U- h& a
alert("no object found!:"+objname);5 z; g4 [3 J' V6 g! ?) }
}- N6 m( ]% |/ B& v+ S# H
}" `; ^6 m4 r& f. m! [
else, h, Z$ K& q+ b+ s8 `
{" j* a+ Y2 Q$ C
# i p- Q j& c9 g4 H
for(var i=objs.length-1;i>=0;i--) $ b \1 h3 X8 F
{, D$ f* q1 ^1 D F' s/ V- U9 i3 G
var node=objs.item(i); 9 U S9 {! { O& x5 r" I) V
( m3 b1 m8 @8 ^& y$ ~ ! `, {4 ^/ i7 l# ^5 q
if(this.getobjstyle(node,"display") == "none" ||/ _9 F3 S! Y# q2 v% }, ] V
this.getobjstyle(node,"visibility") =="hidden" ||
/ _ m9 e0 T/ ^! ~ parseInt(this.getobjstyle(node,"font-size")) == 0) : v1 j1 }& @& [. B
{
' Q/ p G3 K9 w( _ W T) v if(debug)* S* _- Y Z0 h: P) f! ]
{' k0 ?" Y k" L7 F6 e
alert("remove invisiable!");0 c! G( {& K6 \" z1 c, \
}
4 {" Q6 z. U, @- C node.parentNode.removeChild(node);4 p" \, R8 W0 q; R" G- c; b! e+ `
9 H$ P; B8 z& ~5 x! U
}
7 X) q" T+ }8 e( ~3 h" M5 [% q else % {) n* q1 y( r; d: M& }
{
/ G; I, k- t2 e, q2 `# K( y if(node.parentNode) ) X5 T3 ^1 ~4 W& A1 e& d+ a
{
" Q4 N1 x ?1 ? var orgNode=node;6 h4 @+ N" U( z+ C( v
var orgColor=this.getobjstyle(orgNode,"color")$ K( [0 T$ U6 L% v
var orgRGB=getRGB(orgColor); / w) N+ y. I6 ?" a
2 a4 e& N' N, G6 z: j' r
var parentNode=node.parentNode
3 Q. P' y. t3 f var parentBgColor=this.getobjstyle(parentNode,"background-color"); V2 ~* M" l% }5 S( U$ G: S
( J6 D* o! m g( k9 K' n0 B var isLast=false;
7 a7 j2 Y1 g: t; c& | " ]6 \! n9 ]" t9 m8 y7 q
while(parentBgColor == "transparent") ( L+ X4 j1 I4 N; x9 X
{
* x( F# _% e- @. \% u
3 Q( ]2 _3 {2 w1 @# y
0 O: l3 K+ |) n! H$ e; s if(parentNode.parentNode == null); D; E+ X9 `5 f0 f2 C
{" Q( g4 v8 c" O
isLast=true;2 ^. _- E" d/ {
break;0 K' v3 @4 v& x9 H/ m! j7 S
}6 `0 V/ x7 F2 X; _
parentNode=parentNode.parentNode;1 z/ ~6 U1 M! |9 Q; ]& ?+ A
parentBgColor=this.getobjstyle(parentNode,"background-color");
|1 [% T4 j. t; |& e5 r7 Q8 O! Y/ p3 M, a, w5 ]$ L/ J5 I1 S
if(parentBgColor != "transparent") 5 `7 I& b: G; M5 q, ?( \
{
R( @8 c! p5 M. x! ~ break;
* u5 d# ?+ E: n. { }: {: d: Y1 z. Z7 s0 M, A `9 d
}
* W {( [! v- B2 q2 ^ if(isLast) $ B2 _$ {2 u6 ~, d" g
{& s/ x) D1 T4 C) [7 a5 D
if(debug)& P$ a4 z7 ~% z2 C9 i: L- ^2 ^
{% t1 K% e* _ R5 y
alert("last!!");- v- P% [0 E! Z
}: ~' T" _# x/ J8 W S
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' y) M Y$ _3 O9 b# N {- E) t" ^8 c" D* z" `' {
orgNode.parentNode.removeChild(orgNode);
. f& }( J. O$ ~; k+ R }6 f" I& D# G% M3 v0 ]# l y3 J) m
}
# d* y% G R0 r$ L else
$ T7 P- `& r2 D* B {/ a/ ?" p. g. Y
if(debug)% ^# U' D" R0 x0 ^ Q& Q% c
{
7 ~5 p7 @, M7 f+ u+ F. Z alert("compare color and parent bgcolor!");
+ h8 F) W2 F: ~$ `& q% x9 Q }" X6 Q, D- T* p8 U
parentBgRGB=getRGB(parentBgColor);
8 j5 n& _& ?5 m8 W2 V: w0 d, X7 e) ^5 i if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ f, S1 J3 |- w& z% T) Q4 b
{3 A- u: j; U3 x
orgNode.parentNode.removeChild(orgNode); , p) T+ B3 o5 c, N2 e& ?
}
& {; K7 e6 t! Z- G3 [ }' l" a- h9 h' ~+ E( L- V N
}
9 W4 Q8 D' q0 f9 w0 W }: E. q& Z( h5 ~* [. s, H5 Z1 m( u
}7 |5 f' \! B2 ^: v7 S& i
}7 L# x5 T% u5 n
J! C/ Q/ F+ J
5 a! `* i/ ~ E* E, C
var itemFrames = page.getElementsByTagName("frame");
) g$ T w+ I! B/ x0 n- ?+ w var itemiFrames = page.getElementsByTagName("iframe");
% S. Q) R0 L7 b ' `4 u" e+ |- k+ C6 T: U
var frame, iframe;: A3 Y( B8 t, M
if (itemFrames.length > 0)
8 \+ ?; u& y4 N! T {
9 Q' Q1 L1 X) [7 H' E2 D for (var i = 0 ; i< itemFrames.length ; i++) % D6 S. K- A+ Q6 |# M- ~$ F, o
{# v& W" c$ Q/ b: Q% r) U
frame = itemFrames.contentDocument;3 y, z# z# U' S8 [% u# `
this.RemoveHide(frame,objname); $ z/ h4 c) V, D5 M: J, h% j% X
}
. L% Z5 K. `( ~% O }3 ]( b {+ u/ q/ x0 _
if (itemiFrames.length > 0)$ u$ j7 e3 t7 T6 a9 O
{, P& A4 {9 t- i) r
for (var i = 0 ; i < itemiFrames.length ; i++)
) B9 ?. Q& h7 E; w7 s {# G3 n2 ?% Y) s9 R" |9 Z( }, {
iframe = itemiFrames.contentDocument;0 `+ [! X: d3 |) s: R
this.RemoveHide(iframe,objname); + Z4 {9 {& @) ~
}; V1 [) ~5 M: j8 n: M7 {; I
}
4 B( m- a1 [9 ]3 f8 }/ G6 } }7 b" H# R3 Q2 Z7 y, Y1 j
catch(e)
2 V+ w' `( g- K6 [5 Y7 n {
) S! j" |% A; H6 R" g5 [, u! {0 X; i if(debug), R% [' P% {* |- |) f1 f6 V
{, F$ b a8 J i) n. w9 G
alert(e.message);+ U# n% m8 v7 }4 Y o
}
5 g2 U1 m- t* Y7 v/ y' z3 p, n }& h' P u- `6 r
}
; _' u" R4 y2 T# Z7 F
$ G' i U# m0 T2 h) u8 n}9 _2 i2 S( G+ h0 t R' Z
+ Z. M n! n* M5 _' j5 H# d r
function getRGB(colorString)
& X+ P" z5 [) f6 x+ K{
6 i' W* w" n6 q' v6 S$ ^; H! A1 e var RGB = new Array;
' K7 `4 D0 U2 N2 B var tempSting=colorString.substring(4,colorString.length-1);; z3 C0 w" R, R) Y1 Q0 Z f* _
var tempArray=tempSting.split(",");
& G- A4 `4 `) J
5 C% T2 y3 ]& }1 X& F- I5 V RGB[0]=parseInt(tempArray[0]);
. o0 Z" Z5 `) G9 R RGB[1]=parseInt(tempArray[1]);4 j l8 k: F- L" d
RGB[2]=parseInt(tempArray[2]);' T. n6 C, L7 s4 O
1 A! Q1 M: I+ `% x5 \! M1 T0 r return RGB;
) @$ {# ]- V) S! T4 `3 Y) x7 ^* a}( }6 Z( n% x4 v! l9 [% U
function keys(evt) 1 I9 G& F& Q( D: p( ?
{
+ X1 n" d" \7 p* S if(evt.ctrlKey && evt.keyCode=="81")
) L( y/ j8 i& Z6 B! n {
$ K* K! [9 H% {/ L* U% V CleanHideObj.on(0,1);7 x- Z* B0 M4 H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 P! C5 O: [& h0 u% R
, m" M0 W- E; O }
" v# u3 z+ Q+ O( f, h! a* ^ } ; Y" E4 B& G2 T. D# O8 f8 F
document.addEventListener('keydown', keys, false);
7 c% s' G7 q, y; ?" l6 tGM_registerMenuCommand ('Clean Hide',- A+ W: e! v$ g
function(e){
5 `3 v( |1 _0 \4 b: H8 b8 jCleanHideObj.on(0,1)2 D5 ~+ W7 v) [2 b- z E2 {0 H8 l$ K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, r# e2 {; t" O# _; U* n});5 X* ^6 H2 @, S$ k4 n/ G
|
评分
-
查看全部评分
|