|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% q3 H& x$ o: `: ~9 P# R" M% z: l H4 F% k
火狐插件,用猴子1 v9 H# v- X3 f
: k( U; z5 V% w. I
var debug=false;
" ]' K4 x8 U9 X3 Kvar CleanHideObj=new CleanHideClass();' @/ U! B" s# V ~8 n5 k
% g) L' x8 v& R- N* Y9 y9 Yfunction CleanHideClass() 3 u- x, j1 ~7 i1 K$ M
{ + Y2 Y$ e) g2 m% R6 q. Q
" {; W9 K8 _: i7 L" X this.on=function(id,bMZ)
2 i8 }" ^# [* V$ _5 [3 j) N+ e) @ {
. R' l H9 ?3 t% R
+ E* V. S: i% O! g8 s+ n z1 U8 b if(id == 0)
! E0 y8 _8 \3 V: u1 z {
$ W$ P/ f+ K9 F, m var page=/* document.getElementById("content").contentDocument */document;
2 S' }7 q- ? P/ v this.RemoveHide(page,"span");
+ ^0 h- p+ o$ I" } s, G this.RemoveHide(page,"font");9 x2 B' A% y' p, H' Z
this.RemoveHide(page,"div");
: T, E, E) a9 l. I/ @1 J4 B0 x5 T this.RemoveHide(page,"p");7 ?# ]) o% G6 W" t. C" Q% N. q# g9 O
! t% v9 r2 j' [5 m+ h2 X9 R
}( ^6 y4 f2 T' r4 e8 n2 a
: [9 u- ?6 H( s4 _
}
. p3 s% I* Z* V, C: _4 b, y this.getobjstyle=function(node,prop)
4 @9 X3 X# N8 E ~2 P& h {
7 X7 N, v4 v+ P try$ M9 z( @; g1 B, S
{
% a- Q+ ?& |8 N; b' Z- c5 p return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& t- X% c0 Z9 \
}- K4 \. _2 ^, e0 Y9 d
catch(e), r. c* M! e% m
{
1 Q4 s! d+ S5 b) R# C if(debug)2 P: n+ m, O9 O& P2 w
{
" N% ^, O: T. [. q alert(e.message);1 F* t; o$ S6 L' X
}0 k& B; u! P2 ~) P( ~7 j
( s/ I l# H$ x; Z5 z return "200";
7 r" x0 C {! D& `0 b5 j }
0 Q7 D8 y3 G" M- q n: b }
2 O, w- _* H- S) y1 D # W/ c1 A6 z F4 l3 Q" b2 `" ?
this.RemoveHide=function(page,objname)" Q4 x3 e9 M( t& [$ [) v
{
[, M; B2 X8 G, U try) p3 s3 b8 h5 n* F% o
{
0 b- a/ O3 V2 g& y& x B' k var minValue=15;- }/ U5 d/ D1 }- q7 L5 j) y: _
var objs=page.getElementsByTagName(objname);
/ u6 x% u" M3 w' V7 d- \) o9 b# l7 x
1 _, a( b& R% |. u if(objs.length == 0) 1 ^) |! t# T8 c- c
{, w6 ~2 ~5 m3 X
if(debug)& @7 Y4 J. n& Z8 x2 P' s
{
6 D( F6 q% f; q* [1 C* |5 T6 P alert("no object found!:"+objname);
3 v7 R& B- \4 y- G. T8 P4 N( e }1 o: N3 ?; t4 c
}/ r7 q/ |9 l! k5 Y
else
" p0 k0 _9 b3 |4 G8 v {5 V$ D! w3 Y( J/ D* x3 Y- E+ e; C
6 K: A( L9 P0 u: O1 R
for(var i=objs.length-1;i>=0;i--) . J. b# W2 B2 u9 b3 G
{
& j- X+ r! @# y/ F var node=objs.item(i);
. c w! p6 T5 o! G: l " `: c2 a9 C6 y- t& y
w* k+ m/ p2 N w I if(this.getobjstyle(node,"display") == "none" ||
# O4 N: b& Y+ T1 N& S this.getobjstyle(node,"visibility") =="hidden" ||
4 M7 a6 F% F4 [8 m; k parseInt(this.getobjstyle(node,"font-size")) == 0)
; U$ [7 t3 u; n {
7 @( T) p0 u0 ` if(debug)
# Z6 B9 t' P" [2 X. g' P$ D {
2 r$ R% Y) @' @4 s, o alert("remove invisiable!");$ {, }# K2 Q- C g# S1 c7 Y+ x3 w
}
( I2 l" ]7 z0 \# j1 i node.parentNode.removeChild(node);, B& D6 W! X9 m% f
% {! x8 A2 c) U/ |
}; o- Y9 P) o2 e, }
else
; F, Y0 o3 i6 L8 K- N' v9 X/ V4 Z {7 j2 B5 I3 |6 c5 ?2 S
if(node.parentNode) 9 ?3 Y% A8 e* p8 u$ c
{
9 B0 o% h$ z, u# ~ var orgNode=node;+ y$ B4 H9 z! y, v/ L
var orgColor=this.getobjstyle(orgNode,"color")
. o2 W# L( V: t1 b) K7 K( Q$ a; q$ q9 a var orgRGB=getRGB(orgColor); 5 j/ ~: M; H& m6 Q7 q
2 M. L$ D- w( m% G0 s var parentNode=node.parentNode4 |6 {( k. C9 J8 @
var parentBgColor=this.getobjstyle(parentNode,"background-color");
" w- M5 I. z9 V6 |7 k
: p2 o& G7 m6 z5 z var isLast=false;& n& G* } q' _; W
' y) y' P( L; c' r% Z+ Z; r
while(parentBgColor == "transparent")
( ?; P D' N7 |. G D: H {6 j8 ^! o# s& \: y# ~" ~+ \
" d2 S- i" _4 j
- Z' y" I( F1 \" [; |3 R, W/ U$ ?3 y$ q if(parentNode.parentNode == null)
$ ?' h- o, r5 Q' ]2 U; K {) w/ ~" h! {: e8 ~
isLast=true;0 z- t; k4 ~: e8 E! g5 z
break;7 R% V) ~; N- T% n/ d, ]9 i
}& l+ {8 `3 z. ~4 K' F
parentNode=parentNode.parentNode;
/ `+ F, U. Z! a+ u, x parentBgColor=this.getobjstyle(parentNode,"background-color");
" F7 Z+ Y% ]$ g- ]* W+ l6 [
6 P! n, p' Z$ k, {$ \, N/ K F if(parentBgColor != "transparent")
% o% u# h' `7 }1 y9 d' B" b. n {
; e3 k# k3 `+ @- a break;4 ~1 u5 z) |7 q
}
, [" X ?; q& E }8 \5 T; G: q, B
if(isLast) ; Q7 u8 k. L0 s; K3 p" R3 K
{+ V) N$ f" d- w' t+ Y$ ?2 F* U
if(debug)/ [# B S, u4 n
{
y; A' i! y( ]3 m9 s1 B alert("last!!");
: Q# k% ^6 c, }8 Y4 J }
) O6 I. ?% P2 }! K2 C1 q k if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! a# Q( C8 ~( V2 { {
# [7 x" N: |. d! s3 |2 ^2 h4 e orgNode.parentNode.removeChild(orgNode); ! [7 P1 f$ S0 ~3 o8 J0 G
}
) N+ N9 v+ B M6 ?* V }
1 m) W+ L W; ^$ R& V# S else/ k& n4 `1 E, r# a/ h) X
{% [9 n4 _, ~* P+ R M
if(debug): h8 {) N+ f" e B$ n$ e% a
{. `) D+ v( U& K& R; h' E3 U
alert("compare color and parent bgcolor!");! B4 g- B% X N" e
}* U8 ` j" @* k2 F" n2 k; ~
parentBgRGB=getRGB(parentBgColor);7 w3 S( N: [6 F4 \; B
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- P4 p2 M9 i3 y! V( M {, V; {9 j7 P' t1 _7 w% H
orgNode.parentNode.removeChild(orgNode); : y- C2 Z! N# r' M: F v0 T
}
: l( e4 i) K' O2 }* a( f1 C }
7 q+ U, l+ C( _2 C+ w; n7 y; A }
4 c. g2 o- I& }2 P& y5 g }. Q6 l3 A5 O# ~# L4 ^
}- c8 ?+ B0 T$ ~" k P
}, G+ D: X. L0 \
; K1 ?! h' r6 ~# ?- U
& r5 T; b* _; T4 G% E4 y var itemFrames = page.getElementsByTagName("frame");9 X; N' A: A- A5 r
var itemiFrames = page.getElementsByTagName("iframe");" W: r I. M5 P, K' A" J4 P. z8 [
# B& i% G/ C1 b5 M: H# r
var frame, iframe;
/ B+ `. l) p4 M3 ^ M* y if (itemFrames.length > 0)
; T8 O( M- f4 I" d" d {
$ h7 U6 N. P! L& z8 T, H3 h for (var i = 0 ; i< itemFrames.length ; i++) % \9 M' a- F! ^5 m% A& @ u
{
# I% Q" T( J+ i, {! H( X frame = itemFrames.contentDocument; |7 y( d0 F% B- N) _1 _3 }
this.RemoveHide(frame,objname);
0 X1 d' R' T+ w. F }
6 }: ^' W0 ~& O( P/ _ }
$ C: Y4 \( f$ H8 F# l if (itemiFrames.length > 0)
5 T; v, f/ s2 q {
" }, K! g) \, S, h. D for (var i = 0 ; i < itemiFrames.length ; i++) / ~7 U6 A8 W( b) Q6 R5 K3 ^
{6 k/ _8 _5 X1 y' y x& h0 ]. W
iframe = itemiFrames.contentDocument;
2 i8 `1 j! d( \4 M this.RemoveHide(iframe,objname); : Z) m' e2 u3 }8 ^/ G" u
}
9 h7 G3 C0 }; w4 m* o4 k3 z1 i) r }& x( x5 S9 v+ f$ o5 x# l
}9 _" `0 b. K8 x/ [; H
catch(e): ^1 e$ ^% ~+ d9 T
{% V1 C- Y4 z: ~( `! e* p
if(debug)0 H3 a% b% g9 C9 Z; a
{; r0 W: E/ h, ^; Y+ F. q' d! Z
alert(e.message);( s2 t5 D4 w1 }8 u0 T/ M
}
9 W! ^# y/ Y3 M# [6 Y q' D }+ ]8 Y! \/ o- `, @
}
; V5 c% n E) A$ t
7 x ~! T- g8 O! v* t}: O, E4 m0 w& |$ v1 v0 G! o: ]! L
- M( [' ?" N/ ?# {1 z
function getRGB(colorString)
0 t7 I* A4 N [0 z6 I{/ K1 }6 ~& t6 s- Z( W
var RGB = new Array;
' J; P; f& u+ T) l. o* f, W% N var tempSting=colorString.substring(4,colorString.length-1);* ]: M7 Z8 N/ {9 I5 n
var tempArray=tempSting.split(",");
' p# A- ?% M+ n
5 z) \ w3 b( r* H) ] RGB[0]=parseInt(tempArray[0]);
7 ]$ d" O6 a& |" `4 _, S. Y RGB[1]=parseInt(tempArray[1]);
" N9 _6 q" i; F5 }& N- d. w RGB[2]=parseInt(tempArray[2]);7 Z2 P! H. s2 x, n2 k C2 ?8 Q
3 d" ]1 q% Y7 f/ W
return RGB;0 @4 y( k( D' Z# F" q6 M6 U. F
}
1 i* \2 d/ Y$ V7 i6 tfunction keys(evt) $ U: g2 [5 J7 u- ~6 b" P$ Y9 U
{
7 X' g& E. }0 Y r2 b if(evt.ctrlKey && evt.keyCode=="81")
. |: [! J7 D+ [% a {
7 i' @. v @7 u) J4 f. Q CleanHideObj.on(0,1);
, a8 [9 E: u8 F* y; O |( _' G2 m- k alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - i3 W2 {1 `- g4 P$ z
0 C% ]4 [8 S* ~6 q }
4 L: d* w- x6 H } 3 g! d# D0 N. J# j0 V1 S ^
document.addEventListener('keydown', keys, false);
3 G! S% j$ y. f: X4 ]GM_registerMenuCommand ('Clean Hide'," w2 w; `. g% n' y
function(e){* W9 W# p" N/ k# ] b* f2 f
CleanHideObj.on(0,1)
9 k: U0 L3 B) W- [8 G/ x) Zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* r4 @; S. d1 b, B- I) K9 N; _5 Z! ~});
# y1 c2 Q: J6 o. x1 e |
评分
-
查看全部评分
|