|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 m/ x) j2 L- Q0 P3 I3 f: Z8 y N" ]6 |1 X" _
火狐插件,用猴子
. X8 J O7 ~2 [* i- H( o, s8 L v( m. Q& a7 h6 a
var debug=false; 7 M4 }- ~% O" k
var CleanHideObj=new CleanHideClass();
' @) V' r. q, R4 ~" r4 A- [6 Z% m& F( ~6 b: H; k; w
function CleanHideClass()
5 G9 l: T B& n c. B2 G. H; X{
* u8 H: I6 C4 v" D c7 _; o* s 9 ~% c% }! P7 ?4 Y
this.on=function(id,bMZ)
7 L6 F0 l2 H6 ?# e {8 M+ a6 E: _4 `) c* v
' Y2 Q$ r$ b- y' x! w if(id == 0)
( k9 Y4 o3 `- H0 F {
3 B3 Q# f* v& \/ l7 U" Z4 F! J+ V var page=/* document.getElementById("content").contentDocument */document; 8 m# }4 z. N2 Y$ z$ f6 M- C
this.RemoveHide(page,"span");7 u% U* d: T+ ?; i( n( b1 m( G# C
this.RemoveHide(page,"font");8 ?4 ]7 \! ?) S! w8 a8 L
this.RemoveHide(page,"div");% D' M8 V' { F) d. l$ v* n; R
this.RemoveHide(page,"p");
- o% }1 a' Y$ x ) n/ z9 c7 p, e5 [
}
9 W5 v5 i, f$ p6 |* s& r9 v- B' y
) l1 y$ z% f1 s5 n }9 s9 W5 `7 _4 u$ i0 s
this.getobjstyle=function(node,prop)- J8 D3 M( }7 v& c7 T* g% D
{
3 z' x& R% {9 D4 c0 \+ L try5 f8 {; A- t* i4 T- H4 A/ \: F
{- L& N8 G& {4 n9 |/ E; z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
) j( q5 i7 G7 e5 @2 r$ U1 m% s9 ? }
5 g- @; t; L" A/ { l- Y catch(e)
4 I5 s& H. |! u {8 W8 h. A1 f% @" I
if(debug)) X" p/ X+ }/ ]# O3 E, V
{
& c) @, h' I; E' q" b7 y. r alert(e.message);
4 T9 l* F+ `" y: z }# j/ e$ r8 y% R$ J5 v5 D
/ }0 C6 \: \$ y6 l, r7 O& _3 i1 E return "200";% p+ J# V7 U1 ~; H* X# ]
}. Z7 m0 C* z, D! Q7 x& j" g4 Z5 B
}
/ C8 n$ p# \% M9 a! a P9 G 4 [# E* M! R2 x. D/ f
this.RemoveHide=function(page,objname)
6 {, D8 a( F8 }& B {3 I% S+ O* y6 F4 w6 F# t/ T
try0 S) i" N6 v; v* Z0 j" U
{- R4 m# k1 L: A$ n
var minValue=15;' i' v* O+ U; v4 [
var objs=page.getElementsByTagName(objname); / G( D" Y4 A; i. O
/ @, K, p) W' D! {2 g if(objs.length == 0) % U8 z: V& D Y4 z
{
& e4 Z8 r2 K: R/ \; `! T if(debug)& [+ {7 ?6 m6 ]4 C# i9 v
{
+ l1 I9 w8 p5 C8 ]+ K! v% L9 o alert("no object found!:"+objname);+ W6 u9 ~% @" L& k
}
; C& Z+ P. T# ~) j$ l- g$ y) _ }
' y2 }, r1 M9 n$ W else+ o! c, n0 d6 \! Z; X
{: H: X; h3 d! v) Q" G
, w9 {3 [& j( ?
for(var i=objs.length-1;i>=0;i--)
: I7 D, S' \; a; q+ y { E! r g( `" C1 I
var node=objs.item(i);
. r" F3 @! ?2 k# J% f
! B7 ` D6 j4 X 7 m8 m" v; B. l
if(this.getobjstyle(node,"display") == "none" ||3 O# A) R2 P& {+ W. J
this.getobjstyle(node,"visibility") =="hidden" ||9 W5 P4 L7 G/ R6 n
parseInt(this.getobjstyle(node,"font-size")) == 0) : p9 q, f& S0 j) k! W* ~
{% R) L5 z2 U' E9 v4 r- l% U/ c- W
if(debug)9 t% _, a" s/ t: M1 ]
{4 b+ J8 ^/ P" ~7 g$ m. T
alert("remove invisiable!");0 `1 e, h' t/ {8 X. K% E1 x) E
}
8 d4 C0 s. j$ s# d9 p4 g8 U* D- d node.parentNode.removeChild(node);. i2 D8 o7 v* @1 v! x, c2 R& g8 ^2 D9 r
7 w! E* \4 U/ M) u }
9 |/ @* }: y. y" K8 u u' C else $ M W! E7 {; C/ t/ Z' ~
{
+ P- l! s# M4 r0 U5 y8 U X if(node.parentNode)
+ m1 l6 H" G4 n1 s {# c! V5 V# ^) U- _, X1 a
var orgNode=node;& d/ K' M1 [- ]/ ] M Y
var orgColor=this.getobjstyle(orgNode,"color")9 C# j& e# l8 l: X4 Z2 t* z
var orgRGB=getRGB(orgColor); 1 U8 ] v, I! E* h9 q& O
2 ]# Y% N [$ g' g V var parentNode=node.parentNode
- |4 V4 P6 r) x% Y var parentBgColor=this.getobjstyle(parentNode,"background-color");
" F8 N9 W5 p& ^! r1 g% c
' Q4 A4 F3 T# a0 P% K' c+ g2 K( j$ V var isLast=false;
8 q( ^/ V3 ?' q: \2 S3 r) ]' M
2 Z3 J. @! j0 l8 b while(parentBgColor == "transparent")
% x9 y7 M" I+ t: @ {, a- N' K/ O% C3 G$ d
f6 p* k! v9 ~
& m) R7 i$ w; N
if(parentNode.parentNode == null)9 X/ W9 n% u7 P# V3 V
{# G; R4 v% N' ]% H! X( L
isLast=true;$ Z" h2 C: L" o
break;
( _* p2 G7 P) R( w8 g }' S# W% o" p# I/ ^4 p; v/ Q8 K2 p; N
parentNode=parentNode.parentNode;
. f/ v9 i/ e5 T# w7 M9 F" P parentBgColor=this.getobjstyle(parentNode,"background-color");7 k5 ?5 h( y& X& }$ h
) H: [ [9 \7 L4 M7 u if(parentBgColor != "transparent") O. X/ q4 b& z. o. x- X
{0 L. ]7 Y: l% n" S
break;) x' F% J; l9 S$ p$ r; a
}
- M4 Q a0 M7 ~ }
9 C% D6 a, N$ p6 M$ P2 q if(isLast) 1 N3 j% G2 D' C& Z6 w
{
5 Q3 w: F3 Y+ `, D if(debug)6 F9 K& S; R; i7 ?$ w$ Q1 d' s
{
; Z8 z4 S# I8 k7 Y, L alert("last!!");, C$ `, u& U* y5 V3 W8 ~: L" Y
}9 ~% K( U& h% ?) y3 y) U
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 N. S3 f6 i& z
{
6 [ I0 @) j+ y$ U$ O orgNode.parentNode.removeChild(orgNode); ( \! |! L( A% u% V- p0 k; x% _3 R
}4 [- _8 n Y! T9 @2 h
}# @% {0 D: o# x p9 F [- {
else e1 y# [8 T' i; t! f/ m
{6 Y& r G1 i! ^+ X8 K4 q3 E
if(debug)) |0 Y+ P" z) t7 _& l, n( n% E
{) e1 g) G- Q: H0 P
alert("compare color and parent bgcolor!");+ Z/ C, Q; d2 F7 I
}5 B$ {/ y. Z* |+ ~
parentBgRGB=getRGB(parentBgColor);( p6 L# a1 g4 g; u- Q5 m3 S
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% ?4 ?. V% I! h, D3 ^- e2 L& k {
, q) j( z# T5 r3 Q( ]* F2 Q! [ orgNode.parentNode.removeChild(orgNode); - [0 q& T: Q1 k' p& U% ?/ ]
}
0 ]. c0 w1 N% G1 n }/ Z! I4 Y8 W* f1 u/ ?5 K
}
& }" V8 ]/ F; Q c( B- p% J4 a }' ]/ [7 W! m5 S$ e
}
1 g- s. W; Y9 K }
! u) d" _9 R2 i ; i9 d# ?* i& A6 P! O( W1 ^, }; v
8 v; {& Q& j- h
var itemFrames = page.getElementsByTagName("frame");: w6 g4 M! H5 L" Y: m% c I
var itemiFrames = page.getElementsByTagName("iframe");
" E/ ^. R) U2 G: L& n
R; f: b' T3 N2 F1 I var frame, iframe;
2 ]$ I$ G3 F, D$ d3 Y9 F if (itemFrames.length > 0)
! `5 [( h" @; d6 A4 ?8 h) J {
6 g4 p: v1 `8 W, w# j for (var i = 0 ; i< itemFrames.length ; i++)
" j1 Z$ p& \3 t& U+ x0 s2 _; _ {
2 X8 `6 {" B9 h$ B7 q& r frame = itemFrames.contentDocument;$ g' V" h+ S! \+ K I2 C8 v
this.RemoveHide(frame,objname);
- T( `4 z) W* T0 W f" b; P1 j- c( Q }
9 { `) N7 ?4 e; L% { }
/ m4 C+ I+ \3 [$ @$ G: H if (itemiFrames.length > 0) r8 `! I& |5 l' S( l# ]3 |
{ e& u' y# o7 ?+ \0 w" B. E
for (var i = 0 ; i < itemiFrames.length ; i++) 8 e2 q, L+ A7 T+ I& W' Y6 w
{* n1 D T9 p/ G
iframe = itemiFrames.contentDocument;5 O; k, X8 g$ r7 D2 U$ f
this.RemoveHide(iframe,objname);
) m- [& s. l- l+ R: ~8 w @ }8 [/ ^. o/ r3 `9 P% h$ ~8 r
}
6 D) I! U4 I% n0 v d }1 I' D4 ]6 g+ x2 ]4 T
catch(e)- [! U4 k9 o3 X% {+ Q* u
{7 r+ U8 R% L! K! N2 W' U# n4 i
if(debug) D, }4 Z4 E# @2 E
{+ e8 A( |) l6 a# R
alert(e.message);
% A6 J' c7 \$ s6 @1 q0 n" ? }
2 `$ ^1 H8 {" T& X4 g }
0 v# D% v8 w2 L2 p5 j }
' V7 ^' t) u5 i! v; s4 A5 w
, P" B0 H; H1 x" f}% p# E- P) C& v6 ^; x
: [% P& w, F5 ~$ w6 `function getRGB(colorString)
7 S7 c9 k! s. |{6 N7 s& o% Z& h2 G
var RGB = new Array;5 q' J4 ?1 P$ n/ i$ o
var tempSting=colorString.substring(4,colorString.length-1);
6 k, w& `8 T5 O var tempArray=tempSting.split(",");
/ D. `9 B8 f+ i+ g% ]9 t
2 ?% e$ V+ |% E# U. Y. d7 ]9 _ RGB[0]=parseInt(tempArray[0]);
# I' `5 o9 \: h, m& z' Z' ~ RGB[1]=parseInt(tempArray[1]);2 I Y( C0 ^ e* q+ D) @
RGB[2]=parseInt(tempArray[2]);& K7 B5 ?( Q, u2 `
. l9 p0 p& ^% Q0 L* H8 S
return RGB;6 q; i% l" x6 M7 v
}
- o- F) R# z5 h4 Pfunction keys(evt) 9 Q @# G! c$ |" ~
{
1 y5 @' ~6 {4 D: a/ A5 ] ^ if(evt.ctrlKey && evt.keyCode=="81") # U9 j+ k1 q# F
{
1 Y! z' l" q" a CleanHideObj.on(0,1);
5 G! Z" v$ R! E4 j# G4 k alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , U2 l/ ]/ f) b: I% L4 Q, @
3 P9 ?! Y8 W5 a% {! M
}
0 O- N4 z$ W& x, D" U4 k+ X4 e7 j) T } 8 T' Z+ n. z5 u: v9 I
document.addEventListener('keydown', keys, false);
, {. N5 C$ q1 t& W) s6 O% B L1 ?2 @4 LGM_registerMenuCommand ('Clean Hide',
% w6 V, V. j: D: P3 X4 bfunction(e){( ^1 V! B* Z9 f6 S
CleanHideObj.on(0,1)& d' A( y! w& t* X }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 t. x9 Q3 g" d2 ]) A% N- l! @7 a6 T
});
* E; X4 y( P- p: ?5 l7 n; l |
评分
-
查看全部评分
|