|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 ?2 F3 F M4 ?1 o, B |- K, C* a
火狐插件,用猴子
$ b @, u1 s; F5 `- L- @2 E
% j3 x& w8 w" k' B# \3 q2 m( mvar debug=false; + H/ P" c& z1 r/ X+ y! Q5 i L
var CleanHideObj=new CleanHideClass();$ H& ~, x( V' E2 Z/ y
( s) h9 y% k$ R- ?function CleanHideClass() 9 x+ W/ [+ | k p8 }
{ : p1 E S; d6 I' \4 V( n& Y
$ J. ?* ~ ~1 e this.on=function(id,bMZ)
- Y( d4 P# H6 ^4 R7 L" T/ {* ]5 o( P {# m$ Y. H7 A* F/ V% j
7 I" L8 n: y: j, d% y; Y if(id == 0)
' i" M, Y* c3 o {
) `' r7 W) Z7 P var page=/* document.getElementById("content").contentDocument */document; , a( T/ d- f: z, t, H
this.RemoveHide(page,"span");
7 t& O" `1 q% E3 f this.RemoveHide(page,"font");
8 _/ Y; L6 g2 q9 m R; @ this.RemoveHide(page,"div");
9 r" @+ \6 T! h$ ]+ M1 C this.RemoveHide(page,"p");
+ [- ^. _0 t' G! I* v. z- M
1 J) N, l7 C6 J1 u$ I* _6 [ }7 H D" B' u5 t. ]. y
( V6 X0 k# m1 x* H6 U
}( a6 p4 R1 q8 ]3 Q# Q) c$ R- k" W0 y
this.getobjstyle=function(node,prop)
! K+ r7 L* j8 |2 A d, p$ ? {" J, c z- b- F0 L( E
try3 i' U' _* r3 h0 Z' Q- l# i) T; X
{
6 C* j/ D s( ~ ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- V' V) z# y8 k/ ] }
2 b$ }8 l- s/ m+ T+ d& s catch(e)
2 ]+ }7 p+ s3 _0 E2 ^8 m6 j {
2 S) m+ n% E8 d5 h" [: A8 }6 H) U1 v if(debug)
& o7 w8 m5 b a5 o {! L7 o2 l' D3 d+ H% ? X
alert(e.message);
7 l# R% o% e- n7 G' g3 X! Z7 P0 q9 | }6 A1 P4 @3 G# c
& G' N+ p5 x+ Q. l return "200";1 x: n& b7 i9 e$ B, G, C8 ~
}0 D8 `$ _9 B* h9 ?
}8 ?7 z! \' m$ [% w8 s/ \+ m
' D" V1 N! o& I/ J this.RemoveHide=function(page,objname)2 `3 d) m" M' z
{
- y8 f/ I# d" r& S try1 S. o8 u# @2 l4 e+ G
{' \5 U, e! Z& \% y4 L) M [, c
var minValue=15;: U |# K6 d1 w9 ~# d! i$ X5 v+ R
var objs=page.getElementsByTagName(objname); - h/ e: X S9 {
$ l( j+ M/ e; W5 J) L, s
if(objs.length == 0) 5 z6 d4 ^2 |* N) g2 p( l# Q
{3 b2 @7 B4 P- F7 b1 P
if(debug)
- |6 F: E! B9 g {
6 q# Q1 b& W5 _" ]% g3 G alert("no object found!:"+objname);
9 S! T% T5 l7 I, Z" u, |. o2 I }- U r' s0 }1 S) C% M J
}
# n6 [+ `! g; m6 e2 u5 Y7 o0 i else* @6 i$ q, E3 S* J4 C
{
9 ^) R$ O1 [/ Y, i! N0 X
2 a2 i# W! _* a for(var i=objs.length-1;i>=0;i--)
+ M: [7 o D- U: k2 W1 ~# A, x {0 A# i0 I# L8 M4 e! A) n6 v% F, b
var node=objs.item(i);
- n2 `# [" R# _! q8 C( k & ], g3 K$ `2 [
5 k6 k/ B0 A- d8 E9 v
if(this.getobjstyle(node,"display") == "none" ||
, {% Y3 T. s p* v! d this.getobjstyle(node,"visibility") =="hidden" ||
8 R3 l7 {% y7 K# _- _ parseInt(this.getobjstyle(node,"font-size")) == 0)
! `( ~' @7 t9 s1 @* O: b" T {
# C& O3 b. U: D3 a if(debug)
& l& ?& F8 T6 @9 \' { {% | E5 G4 @/ m# F7 i0 z& Y3 J
alert("remove invisiable!");
8 B1 w: [3 l+ X }
: }0 \1 H5 u9 _$ f node.parentNode.removeChild(node);. z; Q x: f+ S D- M2 M* a# m" c
; h7 Y& L6 \& A4 _6 H4 t/ x8 u( T/ Y
}
/ v Z, p) O0 _2 r5 r/ q else ; G( Z2 w |( C1 C1 R- V" N( @
{
# H. e5 I+ r6 \ if(node.parentNode) ! ~9 r5 p4 c! }2 E4 X
{
; S' r/ C- T2 b3 P; @ var orgNode=node;
* O0 y: i J/ f& x var orgColor=this.getobjstyle(orgNode,"color")
+ O. c4 M1 I* Y var orgRGB=getRGB(orgColor);
8 w4 h% L8 {' E 6 ? [3 y, L0 {6 R0 T+ G: q* a
var parentNode=node.parentNode
& _+ j! p N- h var parentBgColor=this.getobjstyle(parentNode,"background-color");$ l& [ R. d2 \. s$ E
+ U2 c* @, K/ Z
var isLast=false;
9 I) C1 W* O4 E3 @7 _2 ^: }, L
6 z3 V) }! H/ E& j4 J( X while(parentBgColor == "transparent")
% J% m6 ~* S* k* b. s& ^0 k8 l/ ` {6 r, t6 t0 ?: }, C3 O
+ ?& B$ Q5 O( K1 E
0 T' ~2 _ `( ^' ?2 Y( ?2 @
if(parentNode.parentNode == null)7 N1 j- ?* W6 }2 \6 [0 n+ r8 O
{
9 n2 b5 m% C( d( \5 | isLast=true;, g( B& p/ `8 H+ W0 I+ `
break;3 {3 f2 @& B7 S9 `1 @% W
}
# F. B7 O6 d) N A, P; P; V parentNode=parentNode.parentNode;, `6 E6 N4 Q4 }5 B/ N2 a
parentBgColor=this.getobjstyle(parentNode,"background-color");
0 E! v* ^- ?( F# o$ o# l/ v/ R/ b) {
if(parentBgColor != "transparent") 6 `* E- ] R! y# H ~
{; Q4 p0 G3 h$ \# j& [8 f
break;
( a3 V; X O/ z1 \) w6 T' D: Y }
0 H9 t/ Q: \1 {$ w }1 q- ~5 M2 `/ {/ D# i
if(isLast) # r' s' H' o& w5 t J9 {
{
0 `) X! t. v5 B( ^2 w- ?4 V/ Z if(debug)
) ^' w5 G, g1 a: Q { x L& Y* \9 |+ {
alert("last!!");; _. l7 r4 [7 w
}& P- c. z! m) K6 l9 a6 R" m% u
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( P5 j5 u" n- x7 N4 b {' @! ]! |: H4 ]1 N0 Q7 X0 v
orgNode.parentNode.removeChild(orgNode);
* }+ J E1 l* L1 w+ G- g9 }* [7 G }+ ^8 ?& U0 {2 }) t1 e
}
9 {3 i( m" ?3 \0 h p' y else
6 a5 K7 s( B L6 w {
/ t. A. ^& i( O4 Q7 }+ S if(debug); i6 g/ {4 K c, ]7 B, ~
{9 \2 P3 K# e, Y9 ]- ^$ v) {
alert("compare color and parent bgcolor!");
! v0 w) N% U. F! r$ j: Y: M" F }
7 _5 V8 s8 [0 F( j7 g, d parentBgRGB=getRGB(parentBgColor);9 @6 ] D3 z# R
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- Q2 m6 R4 Y- R9 |: |7 H, G {
! g4 ]! `5 N8 R orgNode.parentNode.removeChild(orgNode); 9 G# u3 }4 d& i4 ]: [# X9 b
}
& k/ r2 W) Z* _' Y+ o }
; ^. W. T K9 J3 ]! \ }
) o; V% H! o# Q3 _* W' n }6 G* X" S. u2 H3 Q
}3 ^- O; K" d' Q1 A
}6 X- l# A+ c6 ~2 h
. G0 ]+ n) W; C2 p2 W
- v9 Z, c. e8 A& V3 q var itemFrames = page.getElementsByTagName("frame");
0 k, q% ]1 q# g6 o- V var itemiFrames = page.getElementsByTagName("iframe");. e$ o; \* W) g
& V/ T n' y) r% J# J# ] var frame, iframe;
9 O$ p( T% {+ K) x# d. A! D if (itemFrames.length > 0)! {- ^$ ~, c" f; F% ^
{
8 U0 b n& G( ]' z9 A3 _ for (var i = 0 ; i< itemFrames.length ; i++) 4 l; h& c# u L. u
{* a3 D3 i5 Q- s* r
frame = itemFrames.contentDocument;% L a7 G5 ?$ p( { C0 S8 O E* a* G
this.RemoveHide(frame,objname); ) O; _$ K8 W% e2 V6 z7 p3 x7 W
}3 D; w* e" x% T* P) E
}
R) ?; S: } y, u$ R if (itemiFrames.length > 0)
/ t0 B% O8 g% f% B) i {3 ~8 m* @# e3 M* K+ F
for (var i = 0 ; i < itemiFrames.length ; i++) 8 D; Q- g: A) @
{* E( m# k7 p2 a1 }
iframe = itemiFrames.contentDocument;
* o& m, e' I8 N0 R* ?% L+ s2 l0 E this.RemoveHide(iframe,objname);
8 e/ }4 i6 y# }! h$ D, c/ U }
. x* P! q& z- L2 i9 V }3 k. ~( p; A6 W" [3 O2 s
}
8 _1 V$ j* K9 D. \1 P catch(e)/ {6 m, r. p% e4 l9 g; u
{
8 G6 T' C% L* T! F2 I8 V if(debug)* Q! \( U( }- ?% o- T
{, [! Y- e& v7 c! C$ L" Q
alert(e.message);6 T1 Y4 g/ K, z1 p
}+ S: j1 z+ |8 B$ t
}6 P/ u$ j- d# N$ K F5 t
}
6 E) @2 g2 v+ Q3 x
+ m: U( h2 `9 X2 O% g6 W: w# c}3 P7 {+ p9 ?, X& a9 D
& m* l% p0 q$ I/ @3 Kfunction getRGB(colorString). p6 @+ @, i4 ]' a# _; |! S. f8 O
{) x+ [$ ]- b# y' i- K' i
var RGB = new Array;- v# @1 m) H2 Y! [: u0 |7 A4 O3 c
var tempSting=colorString.substring(4,colorString.length-1);# i+ k( `; b6 T( I+ }8 v1 v! ?
var tempArray=tempSting.split(",");3 }8 U- X% K0 _9 a
% o" S9 X) i/ D9 F, I
RGB[0]=parseInt(tempArray[0]);
# }5 ?4 H- r) v3 L. ^! w RGB[1]=parseInt(tempArray[1]);
D; ]8 u6 q7 u$ ? RGB[2]=parseInt(tempArray[2]);
4 u: N5 K. P' [% v' j7 | * v; r5 i0 [% X9 _3 j, s( t
return RGB;
& o* E7 ?& Q0 X}
% z7 P9 R* x8 A. w) l! ~" Efunction keys(evt)
: N( ]( |& J/ D) X& O { ' i# \! t4 n5 m7 R9 q
if(evt.ctrlKey && evt.keyCode=="81")
4 E0 ~: E! W' q1 r, O {
/ @ \* U+ a% i0 v CleanHideObj.on(0,1);1 X% Q) D) b, R/ p; h' Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 a1 E& O' [+ `7 ~ 1 m# e( [- \9 N
}
! b6 [5 |* r1 h- C# B } ' ?8 _' s; O; J0 x
document.addEventListener('keydown', keys, false);
4 m: X" ~3 x+ w7 Z" k6 ?GM_registerMenuCommand ('Clean Hide',6 E" H) [ a. c: |5 H4 }6 @
function(e){
7 Y+ X4 [0 E4 Y yCleanHideObj.on(0,1)
: g& Y8 }+ ?7 Y& ~" nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 p: s. @8 `. l+ N3 X# d+ g/ k) E});: J+ t) X# r. i0 A, M
|
评分
-
查看全部评分
|