|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
0 H+ o$ D9 v6 [; e6 @
6 C+ _3 u) D7 m: a火狐插件,用猴子' O) [) j: u- X( i
/ X @9 U" f% F# A% {
var debug=false;
. [9 s( }6 ?; a6 [5 V/ }var CleanHideObj=new CleanHideClass();! Y* p$ \ L& H' l
/ r, S' z; m/ G( @4 \7 e9 E
function CleanHideClass()
8 P, J0 a% W2 I7 o7 Z+ ?{
0 u h' t6 {& j3 V/ V$ l / j* _# x% O) C$ Z
this.on=function(id,bMZ)
# _6 L; ^1 G- T. V( O% S. o2 S- H {7 ^& v4 {0 G: h% A# W
1 h' @4 e1 R; L9 T. f4 }, Z if(id == 0)7 l4 d2 Y! E; z: W2 i
{
( s* w2 Y2 [$ E2 C9 u5 M& K( @ var page=/* document.getElementById("content").contentDocument */document;
9 e z* d: @% g, R5 z% ` P8 c8 z this.RemoveHide(page,"span");
0 F" \$ H; P: K1 ?" l this.RemoveHide(page,"font");8 c+ d' S; J; h; H0 ?* f
this.RemoveHide(page,"div");
; }5 E; Z* g; Y+ m# _3 O# T v. ^% d this.RemoveHide(page,"p");
& w( ^; @ F1 S( K& H5 D2 l ( @6 p% y+ `5 j. v" K1 g' X
}
. f6 q' M7 S7 p& d6 w. ]( N8 V : v: o0 \/ s8 m7 c- g* g
}2 X2 p, A" r# j# i0 y* ~
this.getobjstyle=function(node,prop)" N8 N0 d4 p7 x s* L3 w; z
{# T) r; o% h* I, o+ k' c; @
try9 e2 A* Q% O# M; D w& n! j
{& {8 a& J6 u! K
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 O' C1 c6 j9 x4 j: R2 ~( ~' G }$ _8 ~3 u6 b9 o) J T) A; f
catch(e)' J, _( @" }4 Z; m+ S; C6 [
{' @3 E! y( u) l$ h# [( ~' x
if(debug)' n8 z1 U. V E+ s- l" m. S2 r
{
0 T. ?" D" Q3 {' { alert(e.message);
7 Q W, z- u8 e" s }
1 B/ `) d4 q) \' \0 j$ y0 B
2 @4 a" u- _9 r; d return "200";
$ C/ ^) S# _/ d! [2 ^ }
5 x/ ]! Q5 _! @ }
O. ?2 X9 k4 \: Y % c9 F; O, ^; J
this.RemoveHide=function(page,objname)
; h& J1 g8 o4 @ \. c* j {
$ l# m4 I/ M9 O3 G7 _0 g8 k% S) z try
, @5 h' L/ d0 k2 o, I+ ` {8 U) W7 |0 \3 ]& ^* P/ N
var minValue=15;1 A' |- L8 ]1 S! ]6 a! r6 q% w
var objs=page.getElementsByTagName(objname); % h& c; ?3 P/ T# @2 g& ^7 k
# T( p# D! M4 p5 n8 M1 Y2 W if(objs.length == 0) : o, C1 c$ X6 M- c' W
{
0 d4 f" z! W) w# E1 g; c if(debug)
W5 M" @- m- G! ^1 j0 ` { x7 {2 D4 Z7 k: f6 L
alert("no object found!:"+objname);3 _4 T: I" k! O) W ?( `3 X( b
}% H% i0 d- \7 B9 J5 d0 u
}
% o9 P. Z2 }! C" ^& [7 o! P+ H else
8 Q( {9 l5 ]! h, `! D* a" h {
z; U, {' g$ W1 y
T$ Z) i1 W+ F! a for(var i=objs.length-1;i>=0;i--) 5 Z& M/ X( r; m
{
1 k6 M3 w. ^( }) Z$ k( {7 p' Z! ^5 T var node=objs.item(i);
) {) B6 R+ [5 T( C - o9 g4 f& ?+ ~5 a
5 S9 r; _0 T- c+ w6 F: T$ g! z if(this.getobjstyle(node,"display") == "none" ||
$ I5 i) K$ a- U this.getobjstyle(node,"visibility") =="hidden" ||5 d+ f( p" P5 \& t% p
parseInt(this.getobjstyle(node,"font-size")) == 0) : m; D" { X/ {4 @6 A* {3 ~8 f
{
9 o& O; J1 e9 \/ Y! d& |8 W if(debug)
; Z' t4 u, O) m( C" T4 w {) I! e& U$ ]! j! J% M" P
alert("remove invisiable!");
8 d- u3 `$ M; f. z/ w0 N! k }- v/ P1 d6 X. a& W: a% [; h
node.parentNode.removeChild(node);0 s1 C* L; q# G$ a N, L
1 Z! @* h( Z" b9 L }1 v' F' u# X1 t, `9 K
else % G3 n+ C, i2 z: B( f
{* V* q' I8 \/ B. P9 a
if(node.parentNode)
( r( \' U9 R4 O+ E, C& Q6 f/ U {4 [0 z& i% {$ a3 ]7 ^
var orgNode=node;0 [& X' t8 ]' ?* h# q9 r+ q
var orgColor=this.getobjstyle(orgNode,"color")
$ D' N+ o7 g( [" c' W1 B, ?* X* p var orgRGB=getRGB(orgColor); + d9 ^; I5 o( ^7 s# ?
; l7 h* ]4 i t, ?2 g, z& J
var parentNode=node.parentNode' f8 j1 ^: S* }, E: Y' |, v
var parentBgColor=this.getobjstyle(parentNode,"background-color");) _6 r1 Y8 M9 b0 Q
% W. @. Y7 G' }% \% N
var isLast=false;( d+ o/ i( @$ Y. X- `
( r! k2 g. |2 d' X+ H
while(parentBgColor == "transparent") , i$ {: j, X3 y/ x6 ~ B5 x
{3 z- Z% v) J% g2 h1 j
/ P0 D( M% I- R2 [8 M5 |
: I6 T: U* C( i& o if(parentNode.parentNode == null)
2 ?/ N7 ~+ d' f; q! O0 | {3 n# a( ]; g+ G8 p$ q! w
isLast=true;
5 u! V" y1 d& S/ y) f5 J" X5 S break;! S3 y9 q; U6 y" u
}+ G }' k9 w7 D$ B2 V; B
parentNode=parentNode.parentNode;" F# V J3 u2 \* F( P1 ^
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 y& Q k4 b9 z5 Q3 n) ]. f: | P. e% V
if(parentBgColor != "transparent") 5 E. `. e/ i0 H- l) n' M# @1 ~
{
% d5 r3 [3 Z5 z! t7 Z break;% w5 M- N; j7 ^! h- I5 e+ I6 }( ?
}
9 D# Q9 }( y+ H }
+ G1 g7 n; y( L" n# k if(isLast)
( z# }5 R+ [; N" `4 p {
+ I* I9 q2 o! C( z4 _7 Q& @ if(debug)1 j R! r- \7 g0 O6 g* N
{0 a% C# g" u' a& o. z
alert("last!!");! M3 o8 l6 m# x \8 t: p, ?% B8 q/ z# b
}
- j- e% T$ z8 c5 o6 s: _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 [3 m$ u# i! T4 v% X/ V {
% v8 \" b& z! i$ u orgNode.parentNode.removeChild(orgNode); / {5 d3 Y5 ~; Z. K* @
}) a6 y/ ^ ~, a8 L/ [
}+ t; X( f X4 `7 i! `; v! E: {& w5 D
else& J: l* k" D0 k2 c5 h T
{
' P! S } ?6 ?* S; S, H5 {7 u2 g if(debug)
; C+ \# ^+ k& X+ N6 A7 F {7 ?5 {0 A6 _0 P; T2 ^) V
alert("compare color and parent bgcolor!");
& ]1 r9 M% E9 @9 C6 j* X }
' L/ f0 Q7 H$ M2 v1 Z$ O% n parentBgRGB=getRGB(parentBgColor);
8 {$ D" J& i' H3 w$ O# m! o if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% p) `5 J3 G' B+ d: M0 j2 ~ {4 }: ^) [. d$ W& Q
orgNode.parentNode.removeChild(orgNode);
: t4 m6 y4 T: W3 ~ }
6 P' Z9 P: r8 i1 c, j# v8 M( ? }8 V& a3 O* ~8 i) e
}
/ k( K8 D4 |: g! I9 [1 n5 M }, o: d- y) i( s/ \" F" b- ^
}
# s# a' F- f% l }
; a7 s8 A( ^# {. m q0 A- P 9 X+ I3 m& B4 M
1 }2 N& Z" E. u) c4 k
var itemFrames = page.getElementsByTagName("frame");; I6 _9 y& q! K: M0 E, L- \5 W
var itemiFrames = page.getElementsByTagName("iframe");( w2 ^7 B1 p( `$ V. _9 a
1 `* u9 H: X# b& s# j( ? var frame, iframe;
q/ x8 @, c8 g4 ~! K1 m if (itemFrames.length > 0)
2 B8 v; s& T Q% `0 D, [ {
! P3 x# v9 A3 r k$ b6 H) _! w for (var i = 0 ; i< itemFrames.length ; i++) 7 k% H1 t3 \+ Y) D8 i, v$ \ O" D
{+ A j/ ?3 I5 @6 p7 ^
frame = itemFrames.contentDocument;9 w0 n; ]3 ^7 T4 C |* f& n
this.RemoveHide(frame,objname);
5 K0 B0 ?9 w4 c! H }! x1 f" M4 F% x; d* H
}/ x" g( i& @' x {+ q) L3 s5 l
if (itemiFrames.length > 0)
" Z5 ~" Z0 w% C2 \! P {
4 |6 p) g" o1 [ Q for (var i = 0 ; i < itemiFrames.length ; i++)
% x" ~2 C: K. G {
* k7 J% f; W6 G/ o0 X& [& F" ~2 z/ h iframe = itemiFrames.contentDocument;
# o7 \# Z0 n3 @ this.RemoveHide(iframe,objname);
& w3 V& L. f$ b. u& | }2 H' p& S N8 z$ z, [. s
}0 T" B# M8 I6 y
} Y, Z% |+ o. z! S
catch(e)$ d8 B3 a0 g8 W, W1 \+ q `. X# A
{
, z4 g- `- z6 B$ B3 P) l7 O# q" w if(debug)# Z a* Q7 B# J% I" N
{
}8 x/ [0 o3 F: e( A4 R# d- a$ b alert(e.message);
/ q' d0 p- n' O }
, u; W4 S' t5 M }: p( C4 A0 W; q- U- O8 X. ?
}& f, w8 p7 a( H
) u9 V( g, A/ I& b}5 L! N" F2 s5 Y6 M% p
! A6 |8 B/ d; q4 n% j% ?/ O
function getRGB(colorString). X) Z% `6 ^' z6 ^" j9 {, z
{
3 {: u6 O0 q0 w7 J var RGB = new Array;2 X C4 J* Z0 R5 a
var tempSting=colorString.substring(4,colorString.length-1);
* k* `8 d* D; ^) ? var tempArray=tempSting.split(",");
p! s5 B) F# ?
; A. P5 ~) w- i: g% m4 C+ S ` RGB[0]=parseInt(tempArray[0]);
* k/ _0 p: k' P RGB[1]=parseInt(tempArray[1]);5 ~' x4 b0 q% P" V# u! @* f9 e
RGB[2]=parseInt(tempArray[2]);+ P* c+ ]- g4 _
- a" x8 `+ O2 g5 v return RGB;
- p( q5 {* e+ q3 N' y+ R4 A, Y( ^}0 n- n9 A: k8 h7 g
function keys(evt)
+ ^; H) v) M9 V! A" E" J) B. g, X {
' \8 @+ J% Z" O) p) x( J if(evt.ctrlKey && evt.keyCode=="81")
# U4 |0 c; m, U; i0 b+ q {
4 H' v2 ]; C0 K0 o CleanHideObj.on(0,1);2 D8 l( S% Y1 V# z* ~+ N. p( j; u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 ^- Q8 h$ s; @) q% T3 L
; [% @# y" J: \% `9 Q$ o3 z }
, g4 G$ S4 e7 g" B } ' G; ?+ ?2 ^ S
document.addEventListener('keydown', keys, false);
/ I! V9 o3 x# R+ `2 [7 ?6 I5 UGM_registerMenuCommand ('Clean Hide',( u' {; Y- y9 m& y6 }
function(e){
0 i, Q' b& n& E$ cCleanHideObj.on(0,1)( s( I+ X( d+ o$ y( G6 Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' {( j- B, E# r* c4 m/ Z {9 B% B+ g# z});: X1 E( U& B3 c' r1 r
|
评分
-
查看全部评分
|