|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / T1 G' U2 D2 P9 ~/ |5 t& A
( N: a3 g P: W$ o火狐插件,用猴子
0 ?* u9 h; X6 s8 q4 G8 P
8 C& E! M p/ m3 b* Ovar debug=false;
2 m1 _6 D$ ^: u( c% h& |2 V$ tvar CleanHideObj=new CleanHideClass();+ k1 i% v# Z7 H0 M
9 ~3 ^& b' ~2 q. c+ O: e3 M) f' d
function CleanHideClass()
2 s& \/ }3 O8 w# G+ b, ]{
3 _; L/ k# Z0 d9 X4 h* Q' v
. p" Q4 K7 v% I" j1 L this.on=function(id,bMZ)% v/ }; v: S" |) Y& w" r# F
{
& {; \: V" A9 j! h
- K3 H; P: J" ?$ \' \) B& ` if(id == 0): I$ U; f! D' v% M) \
{+ ?$ N( m: Y6 v' C
var page=/* document.getElementById("content").contentDocument */document; 3 R; k% s0 a1 L+ W) z F B6 l: ]
this.RemoveHide(page,"span");* \% \9 s V$ l! J9 w
this.RemoveHide(page,"font");6 w# {2 A2 I, g' m1 X
this.RemoveHide(page,"div");
" e: y4 x2 b R# h this.RemoveHide(page,"p");3 w P6 t5 y' |( L7 Y" Y& A% C
4 Q4 M/ r& T0 _" ]( Q }
9 e* P+ Y4 [9 ~
: C2 F' o4 A; H: E3 Y) L }
# e5 M' h2 E0 l( m! _ this.getobjstyle=function(node,prop)- k6 K2 f/ k7 k. Y' O$ g# k
{
# S1 E" `1 U" e7 } try
- T# i3 K0 x: X0 { {: ^+ r4 u$ j9 p
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 ], d' t" u8 R+ [; H9 _ }4 s6 e* W- l# b4 \4 l: E! C6 |, K- e
catch(e)$ V* C) G# F( N4 [0 p
{
8 B6 `; @- G1 z$ h/ `# u) v if(debug)
0 u* l- U/ q, \6 Q& `5 d( |( L {" m$ k* c+ R! ^8 c" z0 m
alert(e.message);
: f" F+ p8 A$ i) I }2 {0 X" j8 u4 f
9 Z* v5 {5 G1 i* [" L% n
return "200";
+ ]4 U1 c( ^& D) A+ d% }6 L }
t% u7 b8 a6 t; [! s' P! S7 ? }) d% @/ f. l" x& {& N& R) |* M
0 h; f0 U' L3 ?
this.RemoveHide=function(page,objname)' d3 \1 L) l! V' \9 R
{6 l; {: D8 _ x2 ~% Z- ?
try
" ^1 ^3 `7 I8 m$ _% C# B7 C {2 p* ~8 p. k; m; k1 ~# H1 G9 U/ a
var minValue=15;
' _$ n$ H& |$ w# M2 T var objs=page.getElementsByTagName(objname);
- h' N) U8 \9 d: S( J3 {9 J, k% ^3 j
if(objs.length == 0)
8 \) O9 E4 l Y% R) G* A {
+ v, |( ]) S" Z if(debug)! I9 y. M8 ^2 [9 v# y* p# A$ Y
{
- J0 N( R3 E/ @' `9 Q5 Y5 _ alert("no object found!:"+objname);
8 D% v8 i ]0 r) J$ [6 Z; h }8 t- I2 X$ B8 @: R1 [
}/ T5 |* |0 M6 y% X/ ~
else8 B- n" F4 t/ c i2 @: g' r% {
{2 r6 U7 v' s* _" Z$ m" w7 W) b
) A6 O2 i4 r; U! ], P( F* U L for(var i=objs.length-1;i>=0;i--)
* `5 ^ [9 i' d( G+ a0 F+ Z1 `# t {
; Y) r" {/ }0 k8 {4 Y var node=objs.item(i);
, z% r7 m' l8 x3 i3 x9 [5 E + M8 O" a; x: v5 u7 u3 e
0 H" d% L# i$ L; Z# C* ^
if(this.getobjstyle(node,"display") == "none" ||
D6 @" {3 x5 e: _$ T, _) F this.getobjstyle(node,"visibility") =="hidden" ||
7 _' z5 i# y0 p parseInt(this.getobjstyle(node,"font-size")) == 0) / E u: ]: W! T/ ], e: }; \' F7 j
{7 \( D) [% g* U3 }; y$ f
if(debug)+ T# w! I1 A, T
{
4 }- R9 ^) e$ s9 w alert("remove invisiable!");
O a4 L9 I; s } b c* L) j$ x! X
node.parentNode.removeChild(node);! A9 N4 y7 A! p- u
+ w7 c6 }- M/ S' D9 Y- d# |
}) ?" `" P/ V7 G H" Y
else
I* r% Q: v( ~8 ?- K {
6 o9 v8 c$ V* | if(node.parentNode)
1 F+ A1 ?& ^+ v {/ {4 {. ~0 F: z
var orgNode=node;/ R: k% N U) H0 C6 H2 X! U5 \+ ^
var orgColor=this.getobjstyle(orgNode,"color")* _: r# C) P3 P! q7 K
var orgRGB=getRGB(orgColor); 3 M0 E E) v; S0 R! }! Q1 J
- Q0 g! L5 F; x var parentNode=node.parentNode
! ?7 Y F0 N5 s9 s1 C8 A7 X9 U var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 z0 F! u7 b* W- K9 q 6 g8 z* R/ m, q! p, q. l+ j
var isLast=false;+ K- O, w6 y0 `/ r# g
& q6 d0 ^- [% c! I while(parentBgColor == "transparent")
0 D! y2 R: t5 ?% N {
+ p K+ `0 ~* e4 o, Q8 } . Y) F) g7 w5 p; I$ y: [
3 h4 z: B% |7 }& { O! f, ]- U9 C( m+ [
if(parentNode.parentNode == null)
' D" c/ V* y7 F1 L {9 F |$ v/ h' F1 o! p
isLast=true;
, a; v1 F- K* M& v1 Y break;7 O8 m" e0 n5 F( B- Q @( ]
}
! S9 f+ |$ _4 Z4 Z( H5 ~; \; q parentNode=parentNode.parentNode;
1 X/ H. X" i. M' n3 z2 _& y) } parentBgColor=this.getobjstyle(parentNode,"background-color");
- _; b# X) M% A( C2 c' B7 m
& _/ Z. g- L, C4 Z; p: U! l( F if(parentBgColor != "transparent")
% A7 u' Q. S( M8 U {8 [7 T/ q2 h9 W( g$ ?& u8 k/ j
break;& A- f( I5 H1 t1 ?: Q" G
}: y" L/ a" |( J/ A) ^4 }
}
# t4 j' _/ {; Z/ F if(isLast) 0 J1 J9 k9 \' Y; N
{+ Z) a* k# Z& Z) ^
if(debug)
9 s3 E5 x: A: A* U5 A# G) D( ^ {
) w) L7 p) j w+ j# Y alert("last!!");
" N% I0 v# F7 H' \ }% F& r5 X8 M/ u. |1 S7 K. a; `! u! d
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% A6 J9 p' e/ v8 N+ _3 o {
D/ X; A2 z; b' z& \ orgNode.parentNode.removeChild(orgNode);
+ o9 k0 G! T1 ]% e7 P }
8 F7 D3 |9 D+ D }, m5 Z/ G8 ^# p- D
else* a* }$ ?0 @( |2 ]5 J3 d b
{( b2 X& u* V8 z, a
if(debug)
: a' z ?6 J" x, o: U {
& y$ E) s4 f# C6 u1 e+ T alert("compare color and parent bgcolor!");
8 n+ v& B2 U2 c- J6 s- X0 v }: g4 C/ }5 |& S+ }, E: }) a* @
parentBgRGB=getRGB(parentBgColor);
4 P' w% z- x9 P( `6 `; _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 F% ?+ J" I P6 o7 }3 K* X. L2 |& g" B {
! K3 |* j; |6 L* }* C# g$ Y% A orgNode.parentNode.removeChild(orgNode); ( C0 U2 r. U- I' t) ?( |' s, X' I
}
' Q# N* }$ d( p9 [9 _ }
. L3 D5 W+ L5 N' ?- R+ l }
5 J- b, ^, M# b; e }
7 u* {2 x$ E& R7 [8 c: d6 q; H: P }
) _& e7 j8 l0 o6 o1 S z3 @ }
+ ^& i. w5 Z; U3 R: N$ h
2 _- V! w0 J% q* L$ [ @* r# h& C( M* i% \6 A, Y
var itemFrames = page.getElementsByTagName("frame");
; U7 k# x+ ]) d: F$ K1 j var itemiFrames = page.getElementsByTagName("iframe");
7 a8 k. B* [! }/ K. t) m- U
0 k m( T, {7 \' m) [ var frame, iframe;
$ w" O; i3 t% \" F if (itemFrames.length > 0); ^* U( s. R0 A ?
{
# t+ i( I( d- n, ? for (var i = 0 ; i< itemFrames.length ; i++) * M7 X! A V0 y% b
{
) {5 }! o e7 [6 Z/ j* H0 l/ g3 a frame = itemFrames.contentDocument;5 t* R. d H# {- f% H7 `
this.RemoveHide(frame,objname); % B6 x7 _$ Y, t0 G
}
; P7 S, c2 ?) G }
' M3 t$ z' e; D, ]! g1 E+ W if (itemiFrames.length > 0)
( L' y4 ~$ ~" T# X, ? {
& o+ w- `3 O0 _3 }3 G1 e. ~) j for (var i = 0 ; i < itemiFrames.length ; i++)
$ a9 Y' f! a$ ^& K( o$ Y {$ ~- m* O) I& [4 ?( ~+ ~
iframe = itemiFrames.contentDocument;
8 t: _: M, }+ W% E6 f8 s" q- Y6 K& j) K& f this.RemoveHide(iframe,objname); 5 `( o+ h: y5 @2 N* d0 P
}$ y; h0 F' ^6 S
}
3 }% S( Z4 D ~- o }
% a! [1 @" J' f# v9 a& e1 ^ catch(e)$ {* v$ Z7 z0 n" U: G$ e; J
{
0 l ~ o" f- w1 n0 w8 a% M G7 h) x) q7 _ if(debug)2 K F6 }9 N5 k6 z/ ~
{
# r! l `3 b9 N' }/ W7 M alert(e.message);
8 p" ], H8 r: |( m, L/ c }4 l3 n9 ]$ ?' w3 \9 N( }; Y" h
}
3 s* T- h" a- ?1 v$ d5 ? }! i7 j+ X: d$ p7 R: ~& I1 |
1 T' G+ w/ p- `; F9 J! y0 t' [}
) u3 \# @* O* t% l# u# p6 a" k, c& ~2 c) V( b, f6 @' v
function getRGB(colorString)8 Y/ @0 ?, Y; p" A- E0 {
{+ G( R, [5 f" k/ a8 e1 \3 S
var RGB = new Array;9 f5 F: }: W; s! F3 U w
var tempSting=colorString.substring(4,colorString.length-1);- u- T6 [- r$ X2 d- b- _+ R, {
var tempArray=tempSting.split(",");) f ` U: ?' @8 I2 @
( T* x' o3 ` W: A- w
RGB[0]=parseInt(tempArray[0]);( o( G" q, ]# @4 u$ i/ l5 S, X* n
RGB[1]=parseInt(tempArray[1]);2 G, j' f1 T6 k' G2 d3 z
RGB[2]=parseInt(tempArray[2]);
9 [% c/ o9 R- C
- A& A0 X4 ]% b" I return RGB;3 Q2 j" j% b# }5 I
}* [+ D2 P3 i1 d
function keys(evt)
- M9 h3 n" \% D9 e. D3 A {
. ~: P: M4 Y! }' S; W if(evt.ctrlKey && evt.keyCode=="81")
+ n6 p: l- h/ a8 i" H {
5 b) r8 e9 A5 n! W CleanHideObj.on(0,1);4 }! {& `- I) ]% L1 i1 N9 ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 ^* ~ O+ J/ ]6 }" m% A8 {3 }! \
+ O. e& n+ v# _ } 0 [5 P/ {6 |" @* O7 Y- X
}
5 _3 V& D/ i# Y; gdocument.addEventListener('keydown', keys, false);
9 P2 u5 a3 t4 ~. TGM_registerMenuCommand ('Clean Hide',6 Z9 Y1 _. a. H( K
function(e){
5 S, N3 |2 q, g- O" SCleanHideObj.on(0,1). U; U6 ^0 k+ `) v/ ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, a% u: c+ T# {% e% z});
8 V F. X- q D7 T |
评分
-
查看全部评分
|