|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 U( [1 f/ u% D% s2 `
* M: _# Y8 d- K( \* [& m8 z- B火狐插件,用猴子# k5 k0 p* c3 X
0 F5 B; ~* i$ \
var debug=false; 9 y, W/ m4 J( Y9 z
var CleanHideObj=new CleanHideClass();
# S" ]3 Z7 _0 d; X$ V
) `) Q' ~$ B: t' Y dfunction CleanHideClass()
6 Z- p7 D/ U2 A* V{ : e% K+ g6 `' V3 m' R' x( z2 f' Y+ v
3 u! i L$ G Z8 y, c this.on=function(id,bMZ)
& h. F) m* A3 {: S, G$ Y {2 W* H) r5 x0 v+ [
$ C ^$ ~( ^9 r% g# Q7 E7 ` if(id == 0)2 L& n, c: d7 g7 N" ?3 h$ ^
{6 K+ c' ~, c5 C1 ~: d, ^9 f
var page=/* document.getElementById("content").contentDocument */document; 9 ^) c" w5 {8 e1 r( j% D M
this.RemoveHide(page,"span");
% h/ y0 T- M: b# `2 s this.RemoveHide(page,"font");
4 q, L b& x( g T& N& l9 g this.RemoveHide(page,"div");& A$ ]2 }2 H- g) O; Q
this.RemoveHide(page,"p");7 X" l, y- Z. i. }- ^- g% {: X
0 A) {7 ~% i- p- K3 Q1 G r }5 t. o: u: K' X+ V. @0 b
9 r1 H5 f# C$ m, D& X. k: h }
9 B& B. D S+ t6 ? this.getobjstyle=function(node,prop)
# ]$ _4 }% k% ?, v) y {
* G5 j6 W) {: Y; k3 e try
' W; h9 F: ^1 f, K S S {. ^ G V* ~% v% r
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
5 N8 F* ]6 o1 f0 X }) g9 d8 a8 E0 D+ b) j% t, ^0 z) q
catch(e)3 s9 r; V4 l+ D8 l
{
) p: c6 @$ o/ B* i% w; Y. @; V7 Z if(debug)5 w2 S# j& A# S- M- h
{
# B: x% m# p/ e1 ? alert(e.message);
/ K7 z& z& {9 }/ R4 Y }
# z) F& l% O4 C6 J1 q+ l% O% x 9 e* k* e& c j, b# s
return "200";
( ^9 I; F J p- H: w4 c }
* v0 L8 \6 |- ~2 k% W3 H }4 I5 X6 U0 A z# s% I
3 P2 B+ n/ g+ U! g) u' P+ [ this.RemoveHide=function(page,objname)
0 P) `8 g) n3 q! z: V {# I7 i$ I! w: G* h2 G
try
v7 R& P3 y$ L4 `3 A; V {
- h* U& @& h' K7 k8 o" Q& m% { var minValue=15;: L4 l$ N8 d6 q
var objs=page.getElementsByTagName(objname);
& l# \- l$ g, w: P7 O# M5 P9 x& n. `
if(objs.length == 0)
/ u& ?8 Z" B8 M5 K0 m e { ]5 K) q/ `* P: a
if(debug)- u+ h" j9 C# M V7 b
{
" ]; U" i% C* @, ~0 d alert("no object found!:"+objname);9 i1 x$ n. c' J0 W
}
9 I- K& V8 ]$ P" { }
" b8 p( | _! t5 ~9 l& q0 i else
3 N: F$ ~, l$ G$ Y- n0 @( w {
/ k' [! ~# M; m5 b8 ]: K 7 g$ K, w+ h6 Q R2 ^7 t
for(var i=objs.length-1;i>=0;i--)
2 j5 T4 {; y! g4 f( w" F7 x3 ` {
. m4 o& H- a7 u4 i: a/ M var node=objs.item(i); # G5 ]6 a* |/ V8 G
2 H' @- T P s3 N# R
# K+ r+ d4 ~# c1 {$ }4 w6 @+ ? if(this.getobjstyle(node,"display") == "none" ||. _* R- s, W9 }5 J$ J4 K" o
this.getobjstyle(node,"visibility") =="hidden" ||: U1 f P2 Q- q3 n$ Q- a
parseInt(this.getobjstyle(node,"font-size")) == 0) ( c/ \% @4 _% `1 b) d( g" D
{; _1 U, |. ~/ B) a" b d% M V
if(debug)6 o2 s' Y0 z8 B0 F
{
, K* @- T3 h5 F" a4 a5 d alert("remove invisiable!");
' D6 C; S2 F, G0 s' r7 D8 `5 K }5 K3 q' A; o' ^1 S5 _
node.parentNode.removeChild(node);
1 h. P( _6 _* }- i# m) L o- d, x+ \) V4 V0 T$ L- Z( V
}/ K6 Q8 `& D" U: y! m' O
else
" \! I4 Y: ?# j {
2 z& {- d" B) e' u1 Y9 C+ e/ z if(node.parentNode) + M/ E/ K6 g* u# l4 l, w# _7 B+ S
{
3 l6 x3 {* E* p, s8 h7 k var orgNode=node;
# w& N# W# Q* i& {) D* h var orgColor=this.getobjstyle(orgNode,"color")
5 @' _ e% D' M3 L6 W- i3 o var orgRGB=getRGB(orgColor); " B: n' {0 a& F& S# }; ]7 d
7 D9 O5 I3 A! d# j* B var parentNode=node.parentNode7 k+ ~6 u" j6 ^ v8 E" w
var parentBgColor=this.getobjstyle(parentNode,"background-color");' Z; R2 ~% ]; o
5 k0 Q, {2 z' }& J6 {$ j! q var isLast=false; b, {* @* H0 X7 {" V
. s' Z$ c) P' \$ G1 y4 P- j1 f while(parentBgColor == "transparent")
6 _& M* F- h' F, t& X- n( o {
) X. f( }1 `" T+ ?* j4 ~ Y
' } c" z* }6 }2 m2 Q+ f ! @! x6 N9 x! E- \
if(parentNode.parentNode == null)
o6 k/ t9 y$ S* b9 R {$ x0 e1 L/ h* }( s1 }/ U
isLast=true;
- h, [3 s7 L) ^( R! ~ break;+ V+ U6 m7 ~% _; b3 L
}( z* _% ?! c/ Z8 i. R% t- u
parentNode=parentNode.parentNode;2 s5 a* T- x# p$ q( [& @
parentBgColor=this.getobjstyle(parentNode,"background-color");4 Q c2 ^# b% L2 C: K$ l( C
9 b/ I! h2 l- T7 H2 B5 Y if(parentBgColor != "transparent") * K5 D# ~) f& ] O; I; {+ Q
{
: ]5 f% a8 |; u break;
: t: X4 H) i8 K3 j( t$ F5 T }+ W) v9 n* [( u
}5 `& P. M* P% e7 m8 ^, O2 s; ]5 H
if(isLast)
3 c* O% B2 |( c$ t) R0 q {) Z7 n+ X3 ~. C5 F5 s( h+ V
if(debug)' c" |) l; B* T' s
{
8 p$ y4 L5 ]9 s6 P% u9 L3 ] alert("last!!");
/ B+ r: _1 K! i5 _ }6 I: d: \8 U+ S+ G8 h
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% O) ]8 s, Y. c3 r {
& e4 b% q0 Q u( U5 ^$ C orgNode.parentNode.removeChild(orgNode); 3 E$ Z5 k& s D1 b
}- A& z: {& y. s+ s6 S0 {' K$ m
}
2 ^$ p: `7 I T! { d; I else
" ~- c( J7 [7 Z7 n- V; A6 j4 ] {. a8 W9 O* w A
if(debug)9 I5 ^# {' A- |
{
$ j1 ?3 K4 b7 d7 N( O% j alert("compare color and parent bgcolor!");
) W8 y2 \4 v- v: I4 M: e }0 A9 h7 C! R. u! f% y' P, S g
parentBgRGB=getRGB(parentBgColor);
4 h! n, _+ _' @/ P3 b6 y% z8 U if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 q. M9 Y8 a9 m3 S1 M+ H& w: i
{
6 y0 R3 b" Y0 G( d9 H D orgNode.parentNode.removeChild(orgNode); 1 F' Z2 ^2 S' E" D1 Q; N
}1 W" N" b% l; O$ ^' p! p
}% {+ @3 F( m+ [
}) r5 f: r& }2 @8 H y
}5 x* H* a9 Z2 ^* E
}# v8 ~$ D$ a. k, y
}
+ P; Y" y/ Q( _! Z3 T
; g( B3 A# l4 R
2 X p! r1 O/ I+ o3 N/ x+ ^5 z var itemFrames = page.getElementsByTagName("frame"); g }7 o* N$ \
var itemiFrames = page.getElementsByTagName("iframe");6 L" W/ I3 X% T2 O2 f
( j+ ]6 H8 ^& x6 k8 u var frame, iframe;0 _9 ?6 I, Z x& R2 e& T* j
if (itemFrames.length > 0)! e# Z" }. T2 V9 w, h: k& C! S
{
" \) p0 i' C9 t6 j# s: H9 o for (var i = 0 ; i< itemFrames.length ; i++)
4 O# Z7 E$ n) d) x1 ]- Y9 O: t {
% c5 `; @5 f6 g0 p! b6 \) F, T frame = itemFrames.contentDocument;
' J/ o0 j* u# \1 g& K9 { this.RemoveHide(frame,objname); & a* n2 P5 v" r9 o
}
- i+ L# {3 \; f" n& L }
c; Q% A5 v. x" J5 K if (itemiFrames.length > 0)
* f3 N* Z/ ~+ | ~+ F {
6 p8 d; O3 b/ l% R# F for (var i = 0 ; i < itemiFrames.length ; i++) # P5 y$ i, e4 ~& V/ K
{; `+ r4 O: D+ H: f5 t
iframe = itemiFrames.contentDocument;
! Z) [1 g* c( I3 v, M% }1 t this.RemoveHide(iframe,objname);
* ?' b3 c. S0 l$ t8 @5 g' B; F X }: T* l7 `2 r) d+ ~5 e
}
0 A; {8 J n/ R; [9 c4 _ } j: I( \7 D' B: t3 I1 V
catch(e)" c& w9 X. d: Y2 m4 Q
{7 u) D, _+ B( s4 Q* r
if(debug)8 \7 k* R' }4 p7 Q, b
{
% n! S+ _: R7 j, z alert(e.message);6 n. b# ^7 D% L9 {
}
M( V4 E# J7 v! k) k }3 F7 |. ^) Z) c3 q
}4 l1 m0 e9 N6 A: ~- ^! O* r
: M* s8 V* B4 ]: D0 e L! a}: l+ I/ Y- D( h6 A6 R
; F4 y$ j! `) z# hfunction getRGB(colorString)
2 j u" I! z% Z/ Q; d# {{
* Q6 O1 C+ m5 Z. ? var RGB = new Array;- b, n$ E9 \6 H5 k4 Y
var tempSting=colorString.substring(4,colorString.length-1);
1 h! z0 e0 T" |/ |( I9 ? var tempArray=tempSting.split(",");8 T. a: a R% f6 r6 W
8 ^9 a8 P, g' u6 L, v5 d RGB[0]=parseInt(tempArray[0]);. Y/ N% H/ Z( h6 E8 E
RGB[1]=parseInt(tempArray[1]);
5 o( D& M5 h9 p6 | RGB[2]=parseInt(tempArray[2]);. O v- a1 u! _/ y; A
5 b. P/ N) p n* [9 |* I6 n. N return RGB;
4 u" K" l( O* Q. a w! y}# \6 ]) j; |/ d. e2 M* K' o4 v& p5 O
function keys(evt)
' {5 _* K: d7 G3 J4 ]8 L {
3 v/ u/ Z; S2 R% B S if(evt.ctrlKey && evt.keyCode=="81")
- e5 b9 i. v$ {! m1 ?0 t& N" I: o' [ {
2 x, i5 q0 }" \2 R CleanHideObj.on(0,1);
) X: S) c3 ?- G* w! @) \ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - P0 ] O, \/ |
, x* E9 F1 ~ J* j A" Z1 y' T } + f- D8 I9 l" ?. V+ `" E E- b% ?
} , h. }; G+ ^. G# n" t" _: f
document.addEventListener('keydown', keys, false);
+ Z I3 x9 J' ]: E% e2 u' O( [GM_registerMenuCommand ('Clean Hide',; V( E3 n' y+ q' {: w* Z i: t
function(e){
6 ?) q! M9 ?4 U- z3 ~0 u" UCleanHideObj.on(0,1)
( `' O( f" |% j$ palert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" P8 b3 C1 A; Q4 S% }# n6 N! D w
});
- C! x) D% g. d8 z7 g2 z |
评分
-
查看全部评分
|