|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 I/ x9 _ Y8 `) C9 w7 ?2 c
& L! P3 a" E# s1 j$ s火狐插件,用猴子 T# U. Z' d/ x2 X$ v: Y& s5 n% Z
$ B+ ^* Z' C$ M! x
var debug=false; ) G2 r( C; f- i( C: o
var CleanHideObj=new CleanHideClass();. o6 w# F8 z% |6 l& T. p
! t' N0 @+ q# y( ?3 S, K
function CleanHideClass() 9 W1 O9 ^1 P) d8 @; ]
{
9 z' s" Z7 Z- j- \. Y t: y, r+ K$ L/ X: V. S& y& F
this.on=function(id,bMZ)
# K# u" r$ p* L) |' M6 } {
+ H2 h c$ w9 ~ " e u4 w" o% h0 ?
if(id == 0); L3 i3 M$ O/ E" O9 T* O/ m* z
{
3 X8 A$ ?3 X; ^, q' [: ?5 l var page=/* document.getElementById("content").contentDocument */document; 3 a c1 N& @8 w
this.RemoveHide(page,"span");
1 Q% o4 y, Z/ |% m! [ this.RemoveHide(page,"font");- [& v: w3 n v% ^( Y
this.RemoveHide(page,"div");
+ o$ j( y6 a' n- ?$ Q3 g this.RemoveHide(page,"p");# ~0 R& |' J* a
- {; J5 ]/ l3 T* G
}1 r6 X9 C/ f. ~* [
$ {/ x/ Y" W& m3 i/ f+ k }
/ O9 I6 Z* T2 R# h: T( r this.getobjstyle=function(node,prop)
# u q1 t) B& B3 y! @% w! f {7 ?; \6 {. G' e
try3 V& K, D& _3 h- \8 ^
{4 c( k* ?; m. G( ?: p+ `7 p
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' v) [/ z) q& w, M0 b7 C0 O }
A7 k& z& a, P5 S7 n9 |/ k catch(e)$ ~ U, c, r$ ~, _3 c6 L# t" V) {
{6 I. }# P# W3 `: W( h4 I+ h: x
if(debug)
' T4 q* u! t3 S2 e% K9 \ f {, q" h+ z9 n0 j5 [
alert(e.message);
6 M1 R! @7 @( l* m! w }
. L% w/ ]$ q/ ^) m0 ^# s4 E+ \ 8 g% ~9 V- Q! D3 t5 C. e% g1 A
return "200";; u6 p3 }; ^/ l$ I- _3 m
}$ Q- ?1 |$ W6 g1 m& O' W. D( S
}
- B7 O: F9 b! R+ X % S" m: G- R( ^3 B+ \; w( Y
this.RemoveHide=function(page,objname)
/ ~ X4 o) }( u, c {
+ O0 z# y6 _& O2 |1 M+ l( O# q try
+ O- v7 H9 k3 T/ P- g$ X, i, c {1 [7 @6 a; Y, A+ m6 \& H+ f' E2 n5 i4 N
var minValue=15;
8 m: K4 P* M+ Z, }% q8 l+ Y7 b9 _ var objs=page.getElementsByTagName(objname); : K% c) c' z: g
; j. D% n0 A; Z' \1 B
if(objs.length == 0)
$ q! Z+ @1 U/ a9 k { k2 X0 e+ B2 | b5 ^
if(debug)
2 c5 _- l P+ ?1 k1 Q: q4 z {# \* p; S. X3 Y* ~5 o
alert("no object found!:"+objname);8 [) z0 n) T2 M' p5 y$ H
}7 p/ ~$ K; O9 e) d5 B f
}
i! D3 e% R, [) c" B, O else* P2 V) q/ e$ L- z, Y; |! C
{
( d) x X) X) `% s3 {; @0 X" F / j1 O8 R2 H* q
for(var i=objs.length-1;i>=0;i--)
- S( _5 u# g4 _- ~ {+ Z/ f3 G" L' S* F/ h- y& i& O: M
var node=objs.item(i); 7 n6 e+ v5 v8 F% Y/ l5 m5 q
- J# p+ c; @5 _# u9 g( F$ u! C* H, q
% Z7 w# I5 G" _ if(this.getobjstyle(node,"display") == "none" ||
: E% W3 f& Q+ t) F# m, w this.getobjstyle(node,"visibility") =="hidden" ||) }& G. K' P$ _, Z1 Z
parseInt(this.getobjstyle(node,"font-size")) == 0)
M1 \& Y L+ N! h/ m |& m; C {
: ]$ v' A+ ~ D) M$ \% D if(debug)
5 d5 X5 Y2 O3 f+ g6 J# E. _ {" {7 l" ?5 y( X4 |$ _+ w4 p
alert("remove invisiable!");( j$ A* @9 N0 j7 e" r$ g6 P6 M. M8 R
}$ U- X2 A* T' U' `1 M
node.parentNode.removeChild(node);" Z8 A- y; `6 ?9 u2 G1 G
9 W% f$ q: ]; Y; o2 p }' R) ]! Z \, k/ _ y
else
" A! p- |; P) Z! m: ? {
% p. p! y! ?, K! p& |' y7 x6 T Y if(node.parentNode) 8 n3 R1 w8 p0 {/ z" h
{
1 Y; X# _; I! Y- x" P. C! M var orgNode=node;3 [( U: u" h h7 O
var orgColor=this.getobjstyle(orgNode,"color")
y" B4 B; ?+ \7 G s9 X, s9 ? var orgRGB=getRGB(orgColor); 3 x2 \' v" \' ?% p- e# \0 |4 ~1 d
3 {$ X/ k, \4 i1 V. \( {
var parentNode=node.parentNode1 q8 @- I; ?! l6 i% a
var parentBgColor=this.getobjstyle(parentNode,"background-color");- {$ a3 v4 l2 o
3 Q1 C! _# q ]& ]/ n1 x var isLast=false;' S! n9 t- h' P5 R* R/ p; |, u
& `! ^2 v' ^" Q+ Z while(parentBgColor == "transparent") ' j' ]8 K. {7 R7 ^$ Z' w; o
{: n. {) y6 j" _, P+ {5 S
# a6 A+ N* ]. n5 R2 y- z . ~0 H/ m+ \+ I0 j. ?* Q
if(parentNode.parentNode == null)
+ u. Q! K( q% \" P- }+ g {# c: m7 j* a$ B3 \7 d; R
isLast=true;9 G$ h5 r9 P4 [% G) g: v
break;
! @: [0 _! @2 d( c) C. U }
+ \; {, q% ^, {" r3 q parentNode=parentNode.parentNode;8 O6 b. [$ u9 t$ G
parentBgColor=this.getobjstyle(parentNode,"background-color");+ @) V3 s4 Q* `8 [9 y2 q
; s- ?+ c+ y) R, r7 J* v9 a+ n* U4 |- B
if(parentBgColor != "transparent") 6 y2 W5 c7 g9 s9 M! c2 x8 k
{
- n) [/ o. j4 |/ Z. \# Z! j0 \ break;0 n/ ^+ }' L$ q+ M2 J5 _" o
}2 V; D+ ^+ T Y! \' E6 p' g
}! m+ w' n4 o9 L L- O% J$ Z
if(isLast) . Y8 \% @* }" c: p& m
{7 p+ X- p; x! d5 b
if(debug)
4 B E3 {3 ]( X {# ^8 m, ~/ f1 Q
alert("last!!");% x, S4 b% m; I( {# u9 S( m! Y+ k
}
9 S4 Q: j7 w5 q# ^' v% b4 y& V/ |0 B5 j if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; v. ^; H" U4 K4 O# Z) d {
* d5 b- Z* l! d' Y! v. ~ orgNode.parentNode.removeChild(orgNode); 4 ]9 s& a5 ], C6 n/ v, I. N
}
6 j5 Y( A. i+ f }
7 o0 S$ \2 T% i* u$ f* M! _ else& K2 g! f- h0 D9 A
{5 b; i# \- K- Q) \5 m
if(debug)' _) S0 e3 o* E6 j3 [& {
{( ^( a: ~7 _0 M7 }
alert("compare color and parent bgcolor!");
/ b& D' `: w9 J, K9 y }' Y$ ~6 i+ k+ y
parentBgRGB=getRGB(parentBgColor);- Q0 M i c' R0 }& E
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) h6 y% l8 E' R8 \* Z. q4 G. G) _6 E
{4 E, Y! b5 e' I5 u; b7 j; B7 Z
orgNode.parentNode.removeChild(orgNode); 5 l' G8 P) q! |0 O/ x" u9 p' s
}- P4 ~, }, A4 O0 t; R, x! `
}
0 s2 s: O, k. w# [/ J2 @ }
5 v' y( w$ u' n& @5 m1 a2 m' Q) I }
* a: l' \( B4 ~/ G) ~7 |1 t+ u }
7 c! J# S% T3 M/ z( c) w }
- N: q7 B% [- o% P3 p8 x7 i1 v' E ( _( `) R0 i, ~$ P) a
% f, G @$ s9 p' B: }0 G1 w" _ var itemFrames = page.getElementsByTagName("frame");( a# g* e" H! n/ P5 u
var itemiFrames = page.getElementsByTagName("iframe");3 c7 H5 `% ]- K! K2 T' S6 J
/ ~' t% [% M7 ^ U4 ]3 k* p
var frame, iframe;& N) `' {: i( e' K7 }" w+ K5 {' O
if (itemFrames.length > 0)
6 S+ }" {* v3 L8 S7 U$ u {
& s* }' f3 g. }; I for (var i = 0 ; i< itemFrames.length ; i++) # L5 u' t8 z7 ]' H
{
4 L9 \- r" a5 W C. x frame = itemFrames.contentDocument;6 q3 m) d4 j3 P1 K
this.RemoveHide(frame,objname); ) B! ^* K) g3 p3 w+ u
}. ~+ `3 f1 A; {( M9 k
}
! v3 b2 u2 T4 B4 C if (itemiFrames.length > 0)
5 W; X9 w' X4 r5 i+ O& j7 { {
( U `% o0 ?3 A; N! ^3 C for (var i = 0 ; i < itemiFrames.length ; i++) + Q! Y9 U1 x( F! F9 R/ y5 _
{
) R) Y# F' D0 ]! Y+ i iframe = itemiFrames.contentDocument;
! l# q4 O' D! u7 \ this.RemoveHide(iframe,objname); : k2 H: f% A; ?% @
}/ W2 P& h9 z1 t0 K! I8 y6 |
}
9 r! \2 R) U$ m w8 P, j8 q }
9 |3 b" a$ q' w" l: l+ ` catch(e)7 ?. U4 C3 i, v' _* w5 H$ Z, G- W: y+ |
{
0 Y" G5 r5 [ f+ Q, p if(debug)
# h0 G. A0 Z7 u {+ p( n. ~- x5 v4 F
alert(e.message);3 N) k; l9 u4 V, `9 q
}2 ^% z% z" O q' h& T0 I0 u
}- l, m; \, _" v% H( y
}
6 E7 r2 N8 y2 u0 s- F) }
" C$ I) e& x2 ]}: C- d* O; r- I3 m6 b7 ^2 e
1 @* u. u& i- R& s, {# {function getRGB(colorString)" U" G5 c0 R4 ~7 o6 Z
{
$ T: L, J6 {; k var RGB = new Array;- R( |% }" ]; {. i7 F" s" L
var tempSting=colorString.substring(4,colorString.length-1);3 o5 c: {9 v1 U6 A
var tempArray=tempSting.split(",");
: \) g1 L7 x1 V5 K: q: M; Z; f
& _# s# Z' K+ V RGB[0]=parseInt(tempArray[0]);
- o8 p/ b Y" {7 f# Z RGB[1]=parseInt(tempArray[1]);+ H9 d# J C+ z( ?4 `
RGB[2]=parseInt(tempArray[2]);
& e0 F" n4 b5 a, I, o) J: C' u2 o
" U& ?7 Y4 u* L# v return RGB;
2 i( P5 G B. W; ~" S! v}
/ ^8 ?8 Y! Z! R! U$ Lfunction keys(evt)
b% V/ |2 T* b. S* l8 k! F {
1 ~( ~$ y$ ], c7 ` if(evt.ctrlKey && evt.keyCode=="81")
2 Y1 P. y( v; F9 u- n { * N4 n. s' g7 `) f! ?9 m3 ]- Q" j
CleanHideObj.on(0,1);
9 o* V h0 L; j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 b' A1 W# Y2 x/ j
' y! x8 E7 J1 a0 N: i* w6 n6 C }
, h3 i" `+ [* Q* S1 } }
0 M& H* t; o' f% ~, j% k& }) rdocument.addEventListener('keydown', keys, false);
% Q+ Z" R( I; P7 Z8 k4 ?GM_registerMenuCommand ('Clean Hide',0 k! Z5 R' ]3 P
function(e){
, x3 m' P0 [! W& Y x0 C4 _CleanHideObj.on(0,1)
2 K7 Z, ^8 L: ]$ h" Calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& Y6 S7 T( c4 @5 J6 G
});
: B4 _. |6 W: w# U9 u D |
评分
-
查看全部评分
|