|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 ?& g' w+ j' ?5 W8 X
+ A. P, [* F \7 Z& Y3 }2 y火狐插件,用猴子
! _3 r: j: x S9 Z9 d7 a1 {% s9 y$ F0 @) b) O( H' Y
var debug=false;
. P* T: K7 r3 T: o ~1 F0 s& C- H, Yvar CleanHideObj=new CleanHideClass();
4 m; g$ Y; i- ~* T% v4 D7 |. p: E, d* |8 H# l
function CleanHideClass()
# n, [& t. j ?/ V- x{ 8 ]- A l# t5 X
, k) X- I; Q Q
this.on=function(id,bMZ)
9 q1 _! {) j" B; V5 T) t: T9 D$ G2 [ {
: B! g5 X8 O, \# }- d( B" b7 ^ 0 T8 }0 c7 c0 l) w' B7 x x) y
if(id == 0)1 l0 C3 h: A& |' [3 Q8 s7 P" O
{9 h4 Y9 H: G, L3 \8 q/ W
var page=/* document.getElementById("content").contentDocument */document;
) E! ?. Y8 [4 S/ p this.RemoveHide(page,"span");
w* o. x! _' S' a1 r2 }9 J this.RemoveHide(page,"font");
# t. V) Q7 s6 [1 p! d% Z) ? this.RemoveHide(page,"div");
7 x, W: u, o$ C5 X% E J+ I! | this.RemoveHide(page,"p");
! |9 V2 q: r: p7 b1 j5 z ' z0 v) a" _! M8 v: }! R
}/ H9 O. `" S% n% Y6 P0 Y. _
4 n! p+ X9 j$ J5 o( H }
) v/ L9 f% G8 s8 f t) B" S this.getobjstyle=function(node,prop)
1 I& s) e6 O! j2 n$ z {
6 ? k6 p- Q$ S$ B3 P$ N try
# I/ }& _! ^7 p+ }1 @ {
i* y7 X1 v. r4 q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ S% e& P) y3 e }+ ^ i* v% x) w8 P; [- O' r
catch(e)4 Q; s, x7 u) @, }
{( G/ y& b0 l: q8 ?7 o6 W
if(debug)0 @$ |' `, p9 `' j9 Q \3 p
{
2 L% x" D4 k: O6 ?' [ alert(e.message);% s. p. V& D: i, ?; B0 \
}% e1 k: X0 L/ t" m; Z
* g5 z K( I# d |: q0 a return "200";& U# f; W/ {5 q2 F0 l2 s6 x
}
/ m0 c V0 i* @4 E( v h% E5 Y5 s ^ }6 I4 v; n" }( v6 w2 N$ I1 T
- z, ^( L0 p. B* n8 h this.RemoveHide=function(page,objname)
2 a, f# F* Y/ ^- B' y5 \9 ] {2 _+ S* h$ K/ F6 l6 ^
try' [. A8 ?: X Y3 B# r% ?: H$ E
{" ^7 U V- }1 v3 f3 ^( A+ [/ s
var minValue=15;
) M' T6 A+ T/ z& i, d9 v var objs=page.getElementsByTagName(objname); 0 e/ ]7 k( G3 z: y) y
9 F7 d' {9 Z, M8 A d& u
if(objs.length == 0)
9 R6 K5 n6 h" z2 e$ n {; P1 B$ h) g' O" E* S/ l
if(debug)5 N3 s0 N( G- f$ L9 }# ?, H
{. U. C5 \3 d' C+ ?( ?5 k) z
alert("no object found!:"+objname);7 X, z% E& E. G
}
7 p5 V i- \4 o) Z }7 R5 R% m% q& i# r( O* e( ?
else+ X, {- ]& W$ U3 `
{
2 f& v" v$ K, F) p D# U! \) E
7 r- O* W4 \& Q for(var i=objs.length-1;i>=0;i--) 0 H6 g+ O( f3 _
{
; q' B1 a' d. P var node=objs.item(i);
L" k% n) U; t. B- e& w # ~" k* i1 c# Z
# x$ H6 x1 d7 \' a7 g) f' I. C
if(this.getobjstyle(node,"display") == "none" ||- q# g% g: @* \% C% I& C
this.getobjstyle(node,"visibility") =="hidden" ||$ g% I/ q4 C! C0 a* m8 D5 i+ ^4 u
parseInt(this.getobjstyle(node,"font-size")) == 0) ' ]' M% l3 N0 F* p' J0 R
{3 `5 ~$ z q5 W$ G( x, Q: |
if(debug)5 w1 Q1 _6 l1 L% W2 |
{' _, w0 {) H( w7 i
alert("remove invisiable!");
, p) I6 U X7 [; k1 G) h0 F }$ o7 i# Z b$ M# ~. @: z9 D. i' r D
node.parentNode.removeChild(node);
( {$ B5 J( {3 M/ H1 B
6 ~$ X7 c. z) D! P }
: W. t' ]0 W1 }7 W: F else
6 s" O8 @" R% { {6 N9 l8 ~ t$ n9 _5 b; a
if(node.parentNode)
3 h$ H8 t& g* M' ]" [5 @; L/ V( v$ v$ e {: Y8 |6 I: {0 g+ w. O- x+ K2 `
var orgNode=node;: @& U* N. |8 N+ f7 _0 v
var orgColor=this.getobjstyle(orgNode,"color")( `" H, M0 @4 T& ~" x( b7 |
var orgRGB=getRGB(orgColor); 4 O0 t8 J, `) Z% O+ N* @$ t, |
) y2 @3 v: [+ G- ?# C
var parentNode=node.parentNode
6 O0 Y2 K }; {' ]2 g3 f var parentBgColor=this.getobjstyle(parentNode,"background-color");/ ^ S5 i/ h% j/ ^, d0 V
* u! N( q+ Y! i# `! r0 q
var isLast=false;0 ^2 b- F/ F: g4 |5 A
' S( f& K+ j/ O
while(parentBgColor == "transparent")
* z4 D2 O: }; e# E; H {
! U' i1 W q2 U9 e% H
" `& S) T8 ^, j
+ c! a: w% y# l. u) g( f if(parentNode.parentNode == null)) i: A3 W: _ K5 v* n/ ]- M
{& R( Y, u8 Y7 U, M
isLast=true;
3 n/ |; r( B1 o- q; E3 T5 P, T* L4 k break;
7 |2 r5 u' _. g; F }
/ ~" Z% b, U$ y! [ ^& J$ X v parentNode=parentNode.parentNode;; H& k v+ _# X$ p
parentBgColor=this.getobjstyle(parentNode,"background-color");
" U+ V/ Z' @- s3 B. F) }9 i" e/ `6 | I: p9 R
if(parentBgColor != "transparent") : H. B6 E$ U3 r. Y. y
{* M) U4 f( W. r0 s1 M
break;
0 j6 r) Z9 M& K; C" R, [! ~7 n }
3 F' T1 N& f7 o2 ~ }
/ \% }# c( J" L if(isLast) : l6 r) Q( ~2 T$ m, r
{
4 p4 t; \/ L+ T if(debug)" i0 H2 \( W* L2 B( B- u
{+ Z: t {! X9 A1 T1 E# {: {
alert("last!!");- M( [5 ~4 M0 I. `+ D# f6 o
}0 K, ]5 N7 e$ \7 W
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 N$ Z3 g" E& T! o {
. t' o$ A: ?1 ]# K; f+ d orgNode.parentNode.removeChild(orgNode); & L- z% f* D0 U g' Y, f% ^
}0 ]# b. a& t: P$ T
}
; I" @2 x* w: t R5 w$ E7 U3 O( e else# {8 _( P2 P0 V
{
& @+ p% N% W0 z! e" x l% z! A, J+ H if(debug)
, q* ?8 u& q( t/ l( F6 y& i {
3 U. A& I; b1 w P0 @4 p- ^ alert("compare color and parent bgcolor!");2 ~9 V$ v+ h; o4 `% T0 Z7 K R
}
7 v6 p& z; n- v' ]: R7 Y parentBgRGB=getRGB(parentBgColor);
+ _ r" q g0 E5 Q! ?' g M if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' w6 A3 a7 y( i {
- m; b0 j. S3 [+ G3 T: A1 r orgNode.parentNode.removeChild(orgNode);
- @0 I/ p: \' C: I8 T5 A8 I. T }! R9 Q: }1 p* D; v$ h
}
9 E5 E ]5 a1 K% q }
" n4 G. A7 ?8 J4 y/ S. j, K } V e9 Y1 b s u& }
}
2 w' ?# ?. @3 H. J- D- p, H }! ~% [& g# V" Q# s; i. m
: k% Y7 y1 P& Y6 s0 \* q 9 n; A8 @& v+ q" M( X3 |# X
var itemFrames = page.getElementsByTagName("frame");7 Y% l$ X7 e2 @9 @8 ]( C& ?
var itemiFrames = page.getElementsByTagName("iframe");
7 W3 t; e6 |* T' D3 [# Q3 R
2 _% \/ [) {2 ]2 w4 r# Y2 A var frame, iframe;4 w% V) X0 |6 H$ n
if (itemFrames.length > 0)5 ~$ V! L0 q( ]9 V
{7 m& C5 e7 @: E
for (var i = 0 ; i< itemFrames.length ; i++) / Y. i! R! v% _+ M; \$ m
{
/ |6 Y8 |/ K+ t9 u8 S9 [# N B4 ~& n frame = itemFrames.contentDocument;+ r6 B% {: v: x/ j$ B4 C3 Y
this.RemoveHide(frame,objname);
& o" D5 y+ W) ?* a" |; }1 s" z }
$ o0 K3 u9 @6 p3 ]8 A" G# H }6 q c. ]8 ?& c# \! N
if (itemiFrames.length > 0)
0 a% G) n4 s% y4 ~6 N; }2 o {
! K1 f4 g7 Y8 t, P6 B; D9 C for (var i = 0 ; i < itemiFrames.length ; i++)
+ y' K; o" h1 f9 G' e3 f4 k {
1 G" ~' _8 n* \6 G9 Q$ g6 n. w6 n iframe = itemiFrames.contentDocument;& V' W) o; B+ q+ {: ^. O2 V! Y' C
this.RemoveHide(iframe,objname); ( N) F# }7 O9 _* x5 _# a
}; g7 s+ H# l. q& [
}- e: }* ^& T) t5 t5 H/ E
}
2 h. \+ @8 _1 q) g* k. c* p3 m2 f% K catch(e)
" s+ G5 x/ r4 d2 I8 | {2 g( c" M: I% E' F) K- E% d
if(debug)! t4 p; k! d. W F: L, E
{
6 {3 w8 N+ z# H1 Z8 `; n. N' m alert(e.message);3 p8 L3 F/ C* G* c- V* _
}
+ U8 ^4 |+ l* |! Q }" p7 `: K& {/ u6 v& ]
}
/ h, W5 I& O- b' m0 s
; r v2 z% l: O% H! }$ |}% p' ]2 t1 c2 `2 N4 B7 N. P
; m/ O& w9 x# e( u) H' Efunction getRGB(colorString)/ U _8 z' V* T- ?7 F& ]
{- t3 [$ ^- X/ c: E) s" w o8 p! E; N
var RGB = new Array;% t2 ]+ G$ h6 a- M8 @# f: o& @
var tempSting=colorString.substring(4,colorString.length-1);
+ `, \1 f1 f1 W var tempArray=tempSting.split(",");
0 U% k5 W" \; i& }
( O- \7 L) ]9 Q7 y: `# |. x0 P+ O3 u RGB[0]=parseInt(tempArray[0]);8 b; X: r* U- D) Q) U( m3 |, ~, P
RGB[1]=parseInt(tempArray[1]);
: n. V/ f& O0 Z/ r0 {: B$ Z* e RGB[2]=parseInt(tempArray[2]);$ Z6 _9 Z! }& k1 T( O
2 |" j3 p' |; h3 K" K2 z# y% |% m7 d& j return RGB;" ~0 V0 h1 T1 g; w
}% l3 \8 |( u: A9 Z& B( w2 F# `
function keys(evt) * `+ m- B0 N, H9 j8 d
{ ) l. |1 z0 ^$ c: i. d
if(evt.ctrlKey && evt.keyCode=="81")
# S7 s% Q1 |8 f& V& q: ], K { 7 K' @: z% g8 q7 A m
CleanHideObj.on(0,1);" ]% I, ~% H3 H; r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ A4 m% s+ t0 o+ D
* X4 F# t* l d. ~$ `! G }
5 X0 \ d; `" i6 W. {- o }
. ]7 Q0 L- P, y: d Ddocument.addEventListener('keydown', keys, false);
. X! o+ p. r' a9 B4 y% D- l! KGM_registerMenuCommand ('Clean Hide',
% R* D( z2 a/ n0 Y$ p% R" rfunction(e){
# l8 l2 Q9 A5 \9 X" BCleanHideObj.on(0,1)7 h3 g7 @/ Z" W+ A! n' h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 U) B9 l; F) K6 N7 W});
3 ~ `! S2 X6 G [6 ` |
评分
-
查看全部评分
|