|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. m$ o- c3 @/ O0 Y4 Y
2 R, G! |0 R4 ?4 j) b+ }9 R火狐插件,用猴子
8 ^: u1 m" d+ e
( b% K8 q1 n& L$ Z0 Y' Mvar debug=false;
# c) o8 l, }8 `3 q5 J- P8 Tvar CleanHideObj=new CleanHideClass();/ c& u" b/ l) s. e0 |
* W2 _: n% W/ {/ Ufunction CleanHideClass() ) A2 a( N9 Y/ ~; D
{ % b F- w: N9 d
2 j" D) ?5 f3 j7 K! b% F" c% F% c
this.on=function(id,bMZ). ]+ a! `' z! s: j: k$ P, d
{
4 F/ {# y( @, \+ p! n
9 K+ { r1 t1 F! f if(id == 0)1 r/ s m, g$ i. F& d P$ n6 c! X
{1 U! D9 L9 q, G0 k
var page=/* document.getElementById("content").contentDocument */document;
! j* t1 Y( c+ B3 ` this.RemoveHide(page,"span");
! u. S. Y. {& K# I( r! h8 \6 t& r, E this.RemoveHide(page,"font");
' |6 I/ h0 K" d, |, `: n! m this.RemoveHide(page,"div");
* U# t: g, l0 ]/ I this.RemoveHide(page,"p");
4 A' D# Y9 b+ k* O0 I& s & v/ s5 z9 ?- {6 H" n
}
3 u0 z) b% [: z2 [8 e$ @
8 {% v. I1 K r! _/ X) @% m }$ n) U, M K6 m) j0 M4 H9 s( \
this.getobjstyle=function(node,prop)
% K) j+ ^+ S: j" T& z0 H {6 r5 p- s. [: g0 i
try! V6 z9 Z8 V/ r& f0 J. A+ A
{0 M- m2 d6 d! N1 \% J# r
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 ~( W' J2 U$ @" Y }4 |/ M! N9 h7 Z9 Z2 R; O4 C
catch(e)8 H9 l1 s# D% v
{
# F) S0 T8 L. S9 R3 T) F if(debug)+ f' x4 [+ Q4 n& x( R
{
. f2 }( D/ M) ]* E2 f# C alert(e.message);. t5 W9 g# b: ] }% x
}& M3 w) X1 m3 d$ N! U
& y) J) P! M' M4 |
return "200";
$ ? B, U* u3 e4 x9 E2 Y }1 @2 {2 \% M% K: w. d( `
}
8 U/ y$ K6 H6 w
# m& i- l9 T' K; M0 r, h this.RemoveHide=function(page,objname)
2 C0 J0 f& e. t/ W+ w0 e( w {
p3 E8 b ]4 K4 T try
/ a5 U) y! W1 a# s6 T) O {
$ u8 ]9 R) u" ?6 L& \( i var minValue=15;
3 D! S+ A5 m% D r( q var objs=page.getElementsByTagName(objname);
2 n* g9 \$ y/ J& Y* g1 G. F. R- z- `
( K/ C6 U( `( K if(objs.length == 0) 8 ? U( { q. n) e, z2 l
{8 Q4 Q! N4 ]! u3 }- [
if(debug)
7 ]$ |4 i$ k, A8 P5 f4 y; O' w {
' q$ U7 C% @" q# m& E alert("no object found!:"+objname);# w/ ~9 G/ _7 s; y6 m1 Z
}3 T+ M% z8 J! g6 r
}( n9 o) a, T& t: C$ f0 ?
else# r7 S0 k, m! x, R3 j. y# C
{5 g- I5 }6 G' p# u3 l+ X. r
Z D; C2 y0 B: h* i( ^# r( E8 y5 ?
for(var i=objs.length-1;i>=0;i--)
& [ L: m( O# K$ q9 Z5 Q5 L {
- \. _7 j! [8 z: Z0 _ var node=objs.item(i); 5 g1 [7 ?2 S1 Z1 f
6 e& }, ]& o7 a; i2 m
5 f7 v3 R: e& a! B# P3 `- p if(this.getobjstyle(node,"display") == "none" ||
5 j, f% T+ k; ?* O this.getobjstyle(node,"visibility") =="hidden" ||' k5 c* N& @) Q- d' k
parseInt(this.getobjstyle(node,"font-size")) == 0)
, \/ v. t- ]7 v U& ^: S: Z {
( R' `. l3 \% g- k) n* R3 o if(debug)5 v0 a6 `- w# ] _( t6 e0 G! S
{% C: Y6 S" n4 O( v+ ]' x4 G1 t
alert("remove invisiable!");
5 l' A2 P W$ \+ N& r }/ k2 e- x) L" C
node.parentNode.removeChild(node);& ^4 b: _' M2 O) H
~' E, V8 A A5 K1 W: e+ c, S
}
% z1 D6 P: {* |1 [" d$ a7 F: B/ h else
# b1 u) f% e/ u' g, m {
, m; u3 E( |; r; l# ` if(node.parentNode)
5 n/ p$ i8 y6 c& v; T5 F6 q {
& F7 B4 N9 \6 F, J var orgNode=node;
, p. z( T! N' n7 g0 `) s var orgColor=this.getobjstyle(orgNode,"color")8 Q; ~, R% S, D3 I* {
var orgRGB=getRGB(orgColor);
# [! V: Q% L1 E w9 b
3 Q3 [/ L9 @4 l; c0 o var parentNode=node.parentNode% |% _; H: b9 j' s8 l
var parentBgColor=this.getobjstyle(parentNode,"background-color");* ]$ w. N6 D. a6 S) @% L) w' F u
3 R# Y1 Z( b* l9 ^ var isLast=false;& G4 y5 \8 w4 y
9 t5 L4 o; V5 p! @: ~6 @$ F6 W0 ]
while(parentBgColor == "transparent")
2 h$ g7 @) R# M {8 ]- b O, t N# r
/ ?4 b$ U0 m: Y; w4 j
0 t4 A: A" `2 L: y* {6 F0 m
if(parentNode.parentNode == null)
5 z$ }& O* E- P+ {' j8 G6 E {
/ V. F2 s7 R& G1 g5 ?; }$ T& z isLast=true;
! Y) T3 W' o' Z- @& h* F break;
& b* A) x! A' p ~2 H" { q' @4 p3 { }
: A5 O" b8 \5 c- b! {# I6 ? parentNode=parentNode.parentNode;% M& Z. g! ?* a2 k
parentBgColor=this.getobjstyle(parentNode,"background-color");
- {! |6 Z4 M! f% v6 `
- I! J7 ~9 W- S7 g1 m) m if(parentBgColor != "transparent")
h4 S: U! Z% a+ |" b! l {
; d( ?% ^+ D' p" H break;
! ], B9 Z, X; x" @8 U' O1 b. M9 C }
5 T/ [; B" O: H7 q }( P* T+ S5 q+ e" V' ~4 b: R/ z
if(isLast)
# X0 C$ [, X7 @6 Q {, _5 f$ f5 O/ ~
if(debug). B% E$ F5 E! E3 [
{
, l; }% E G6 y0 w: N3 V8 N" \ alert("last!!");
+ t! w7 g) a# ^/ U }/ I: a" M2 c/ y; L! D1 ]4 m+ P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' k! g/ ^0 N$ a+ I: H3 H
{) p+ U! K# Y+ a& ^1 F
orgNode.parentNode.removeChild(orgNode); " j" ~4 M# }& \* Z
}8 Z' P# f' h- n8 x' R) {
}
# ]1 R2 M( R% }4 } else4 p0 O4 y% r% I+ [
{# W4 H, m2 ]& p, I) d9 m
if(debug), g( g) ]1 j% o% r, F
{
y- Q0 f8 z# P% Z8 Q2 r$ ? alert("compare color and parent bgcolor!");
2 K8 q* Y6 M1 h" G( x9 | }( P! _' {4 C& u5 G
parentBgRGB=getRGB(parentBgColor);
c3 Y; y3 a% V5 j7 E+ l3 ` if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 T Z1 \# C2 ~
{/ }) h3 C- n9 d' K, m T4 V0 d! e
orgNode.parentNode.removeChild(orgNode);
! W$ a# D4 T; ^4 o; W3 C0 G }
O! z, m3 M& H1 X }
* P0 [ d9 _8 S: ~8 r }9 |, Q1 J7 v8 N. d O. N
}
/ V: X, B$ ~& B }
3 }" s" u2 K$ J; i- y }
* @$ o% Z: y! N# i# z 5 n7 D2 P& l# E0 v
% Y6 [* B( G# [3 f
var itemFrames = page.getElementsByTagName("frame");
7 W5 l( p% W" \% h var itemiFrames = page.getElementsByTagName("iframe");
1 L2 f# I' f, B! [
! `# S" t2 F! |: b" t$ L6 Q var frame, iframe;# r2 W9 ?9 L- X& g* f, }
if (itemFrames.length > 0)
4 F: S3 A3 a- E% a {1 y/ c4 @7 p! i) ^- _& L
for (var i = 0 ; i< itemFrames.length ; i++) , Z% Y: C4 ]9 B& \6 J
{, |8 c @. c# N. a; E" c
frame = itemFrames.contentDocument;
$ e3 V) A9 e+ M5 e* R9 y2 g! y) _9 r this.RemoveHide(frame,objname); 9 v# E- F" \- E/ V9 `5 n6 X
}
# N4 }& Q N5 z D& s }
, [3 ]7 O& e- y8 a# R if (itemiFrames.length > 0)
g, b: @$ e9 X {
h8 O3 a4 }6 @; b2 @ for (var i = 0 ; i < itemiFrames.length ; i++)
) W, d. C' m( z, e { E% t# D4 @- f% p: l! R, D
iframe = itemiFrames.contentDocument;+ D( C& d& X! f" t
this.RemoveHide(iframe,objname); ' A- C3 x: ^: B5 [5 y# C$ S
}
. A' w$ g! u4 X1 z }2 m4 N; q5 S! Y t0 U' A0 n7 M
}7 i) n- h# O, j8 x, {
catch(e) x8 S9 E8 w% Q4 J1 B* _& b3 p
{0 c/ r- a- V y8 W4 c5 n
if(debug)! Q0 I/ C5 G2 A
{
0 K* W" s5 `" W9 u8 H5 s0 S alert(e.message);5 D) @3 F+ w$ }. Y0 X7 F
}
% J/ l/ q2 d5 M2 n }
! l9 Z5 m4 z5 z n }: Z& H- ~/ A+ G3 s1 v B2 `
& k5 c& @0 u. {: l" i" J}7 h- c5 R6 J& {
: [( |2 j$ z3 E7 {: B5 R1 F' xfunction getRGB(colorString)
: ]. L: L: K+ C{5 o" T& q/ i( N5 Y. U5 T4 h
var RGB = new Array;) Q& U# G7 ~% h r( z. g, l
var tempSting=colorString.substring(4,colorString.length-1);4 t) R2 J9 e0 l6 T
var tempArray=tempSting.split(",");" g e/ C( }0 Z0 W/ |6 Q
' W0 U6 y# p% l9 W) I9 g3 K
RGB[0]=parseInt(tempArray[0]);
2 x9 c) u1 _9 ^" m7 {# k RGB[1]=parseInt(tempArray[1]);. `2 ]- {2 Z, f0 d1 K
RGB[2]=parseInt(tempArray[2]);
7 |4 k. a- e; `6 m ) @" v( N1 Y, x, F) w- U# H0 g
return RGB;
3 U9 G7 z1 |6 X) |}, K- T" k9 y9 u, y E O2 g
function keys(evt)
( z) G" C; M0 y: g9 D4 ]% E7 _$ Z { + [4 S& `' j3 W+ }' b! p
if(evt.ctrlKey && evt.keyCode=="81") ; J3 f5 `4 _: \9 a
{
+ Q* h. b9 P3 A7 F% N2 ~3 j) N CleanHideObj.on(0,1);; y- U8 D! y% J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 L$ ~2 R6 y! V7 N
/ `" d1 K9 l1 n8 Y; c0 N: `, d) ~
} / T7 T# z- T$ f
} ! n7 ~ @) M! j
document.addEventListener('keydown', keys, false);
2 p0 H ~( x- t1 nGM_registerMenuCommand ('Clean Hide',' ? |" Q6 |# W5 w$ g1 W
function(e){
Y0 s7 j$ n# d1 }3 NCleanHideObj.on(0,1)
: w/ N' h; o" Y+ k O& Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ W6 B5 F1 y3 M" q});, k8 N% H3 M# b o
|
评分
-
查看全部评分
|