|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; C' ~: m1 `9 B2 H4 l% B. B; v2 @; n6 t' C2 r
火狐插件,用猴子& B* b& m! T# X. s+ R3 e
1 Y }# ~8 t" _4 @4 H
var debug=false;
5 O6 \$ F2 S$ {var CleanHideObj=new CleanHideClass();, |6 p& U- }9 }% N
7 ?4 z1 H( J9 x+ a
function CleanHideClass()
4 q# W8 W/ }. g4 V5 `! W{
1 B/ L Y7 u4 R5 S! H2 d5 j
, b2 J* o5 Q( [' A6 T' L9 K) A5 w( n this.on=function(id,bMZ)# I( W9 `" c9 J; E( h
{. R: y" H/ d3 n4 |* @" a
5 U' R8 w% Q: D1 J& X+ D# D' m
if(id == 0)) q# e$ \8 i! M. Y/ z7 G0 v# w2 @
{" \6 H" \9 b; t: U3 Y
var page=/* document.getElementById("content").contentDocument */document; 5 o, F! B' O, _
this.RemoveHide(page,"span");
/ T" g9 O+ d/ `+ W: P this.RemoveHide(page,"font");
$ q3 b0 \8 ^; |/ W this.RemoveHide(page,"div");) c3 w: O; H+ {3 R- m5 m
this.RemoveHide(page,"p");
$ o% F: w5 j' ]7 [7 E 5 [' j1 l& w1 I, S' r" U
}* V3 B* d; P9 g
, C, Q6 @: Y3 t }
; }) m) [8 O( K! Y# m+ I this.getobjstyle=function(node,prop)
4 M& d5 _" q4 i0 U7 k {
+ p% f5 m7 G- c8 Y try
3 v: O+ H4 Y: R2 F: q2 t- _ {
& |$ H& T! I9 M return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* z2 `7 B8 p2 |% S6 n. A+ N) b2 P
}: R9 z: R! t. P- K: {5 f# k" m7 b5 V
catch(e)
+ m. J" B0 ~! ~ {# L7 X1 ~) i3 K$ V
if(debug)0 J8 N0 \* K1 s- {/ b, h
{, O4 i1 {" t% B+ ]
alert(e.message);
" y: [, d& u7 M7 }, w }
3 d/ K& J/ O2 g; a$ |' J9 A2 T
& T4 p9 \0 b: Y% Z* T6 E- i return "200";
0 o/ s5 ]8 R2 q }
5 y8 h7 ^% u2 P% f }( V) {& N" e" |: [& J+ Z' U, J
1 g. e2 o9 O- [: P' |' [
this.RemoveHide=function(page,objname)
. k$ O5 y1 Q, W9 e. ~ {- c4 b& j$ r* g6 P# C, H
try
. v( |: ~8 r. }2 K! D0 X- J {
. f4 {% o/ |; ]9 R var minValue=15;
/ D) U/ m5 d9 `; G1 v var objs=page.getElementsByTagName(objname); 2 M& r# T3 ~5 z9 p
/ j' ~" e8 s7 n if(objs.length == 0) , V4 p+ G; Y0 r! H* q
{
# W5 n5 l- n/ G2 \! O+ A if(debug)' K3 X8 V, H; s% S
{
5 ^: V# a7 E3 y6 ^ alert("no object found!:"+objname);
9 r& R1 \; C3 F }
& y' B' I" Z4 s/ j }- M9 u" j2 { H1 Y, g, Y/ \
else
5 p8 i' B% E* B9 Z {- R0 ~- W6 e" Z- D
, b- K2 C( V" L' K* V u- V. O2 j for(var i=objs.length-1;i>=0;i--) ' P9 R, z- B, |. u
{9 n' A3 }! |$ F, K" {* u
var node=objs.item(i);
1 L+ Z- s2 n3 M* ]$ x
8 u. I$ w( g5 T
( n# J; i% g" V5 z$ W if(this.getobjstyle(node,"display") == "none" ||3 |/ h. P) ` }) D1 w6 g8 f& H: j
this.getobjstyle(node,"visibility") =="hidden" ||
; h# c" { X7 P2 B1 I7 m parseInt(this.getobjstyle(node,"font-size")) == 0)
! W5 g* a: _+ K7 m' [& k {6 L: E" ?- E0 J3 ?
if(debug)& x" ^" E U' h$ X j
{
5 u4 c8 J. U1 n: k" N5 q/ r alert("remove invisiable!");% a; g I! m5 o& y
}
# J5 o1 h4 j$ Z. o0 x! @ node.parentNode.removeChild(node);
+ f9 D1 ?6 f! }) S4 h% g- R# Z8 Z $ @( T$ j; H6 ?/ }% C: n& l
}# j& ~. ^5 a/ V' O6 P1 U) D ^
else
g, [( t# ]. F# w {
3 I3 H( @, u* m' t4 Q3 Y: W2 J if(node.parentNode) # ] Q6 |2 \/ M+ u
{. u6 g4 }+ k7 g+ f3 `
var orgNode=node;7 R3 v3 e, K% H
var orgColor=this.getobjstyle(orgNode,"color")5 @+ U% ]3 e9 S& ^' L6 P7 D" ^
var orgRGB=getRGB(orgColor);
; Z0 G% @* C1 ^5 {5 m) a ( ^. }$ B" n! ]$ Y% M" U/ j
var parentNode=node.parentNode7 ? Q1 @! t! d1 }+ ~( ~
var parentBgColor=this.getobjstyle(parentNode,"background-color");
. M P5 Y3 M- ]" j c
) e1 q' ~ Y3 p( s0 q var isLast=false;
! R1 B/ ~% O6 R
% h" _2 N. p8 B& D1 C) N while(parentBgColor == "transparent") 6 [' ~. k2 L) B
{
+ x7 l+ T+ R9 y! O1 s, T6 m ^( P
, D* `2 F7 M' |6 ]8 q. r
, k! F5 |% `4 n8 [$ O) W+ H if(parentNode.parentNode == null)
# ]0 n1 U o& s; v2 {* s2 H {3 q2 i. ]& T. R/ P
isLast=true;
; p! }; c& z7 U4 g3 t" } break;
3 \5 H) q' X9 O5 H7 B }
2 t1 i& [2 ~5 |3 A7 F7 T9 S# Y parentNode=parentNode.parentNode;! e+ ~) k% I9 N
parentBgColor=this.getobjstyle(parentNode,"background-color"); c% F4 S! g# C
! h2 {6 U0 [$ z7 Z4 E; a( d
if(parentBgColor != "transparent")
7 G# ]) d9 k3 g9 M g5 R {. Y7 b* o# q4 r( f3 g
break;
" j" q) h3 R, n# G0 P5 }; m6 I } d" N9 z' _6 T. z
}4 @! w; z0 M Z2 {) s6 b
if(isLast)
, |9 l9 U( s" d) y {
# W4 r0 s/ J% p2 B, L' G% ] if(debug)6 [/ y8 w7 B& c I3 M9 u9 [
{
+ _7 C6 T# `5 _& F alert("last!!");
v# l3 ^3 n3 u* W/ h2 ~ }
/ s' S0 W& `7 i0 V$ ~# i- M7 r) f0 t if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: Q- [# G! B: p/ u {7 V+ s: K3 M# F& G. M2 m
orgNode.parentNode.removeChild(orgNode);
5 C3 t3 O3 m4 a; G }
( c7 O, u; E5 r7 C( C }& l- _$ q% P" |3 c" I
else: l4 [& p6 W7 q2 W
{* A$ }% A9 u+ E1 \& ~. {
if(debug)
% y9 \. R0 A) o( B {0 m7 r A) `+ S+ P& t9 y& F% z
alert("compare color and parent bgcolor!");
% c' R" {# G4 {& w- N }
# g5 J' g. ?8 _- c2 \. H parentBgRGB=getRGB(parentBgColor);
( Z( H/ P2 k: ]. a1 x: ? if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 W" O2 Y8 w$ \2 m. n7 u {
% h! ?! j+ [, c3 L) h orgNode.parentNode.removeChild(orgNode);
1 G2 Q/ n" q9 @0 B0 j2 O. B }* p1 Y! a( J$ ~
}2 i! |8 p! W2 H* P D
}: S( g/ Y6 o5 v: Y: S
}
; j' O2 R+ g% R; t3 C# Y9 I5 y, I }' p- Z* }+ A' _- D; q }
}
1 k2 ~3 ?( p# p3 X0 w 5 r- q5 A& v. V* X
9 z L9 M) n' {5 O$ p# A var itemFrames = page.getElementsByTagName("frame");9 X! R3 C; u" r
var itemiFrames = page.getElementsByTagName("iframe");
) U7 `: ^( H) q+ \$ R @ : w& s% u6 I* T
var frame, iframe;4 P8 L5 ^4 Y: U
if (itemFrames.length > 0)+ G3 @" z7 m. M" s
{
! P% d( A1 m. \, S for (var i = 0 ; i< itemFrames.length ; i++) & \ B( w4 |1 ^4 ]( W
{/ t7 m# W5 L+ J9 \$ O# t
frame = itemFrames.contentDocument;5 p9 L, l. W0 p, r! K' M# t' k
this.RemoveHide(frame,objname);
/ }5 m' R2 S& f1 Y/ V$ |/ v }
# r9 | l! z1 S3 v }
6 j& A- a& v: \% Y if (itemiFrames.length > 0)
& a8 @; v2 @. M+ ` {
! x( }* g- ~: v7 y# j, ?# K for (var i = 0 ; i < itemiFrames.length ; i++) # q3 D2 Z) x% y4 D+ b
{
1 G5 p, }9 x7 J2 q# l. d% @ iframe = itemiFrames.contentDocument;, W7 x8 \7 U: K1 x
this.RemoveHide(iframe,objname); & }- ]% [% I$ i9 @* Y' _
}+ q5 E/ ~+ J2 d3 S4 H
}* a' V0 a/ }: m" L' _
}
`4 F+ ], d Z2 ] catch(e)) Q+ w2 ^7 k. ?: H" m
{4 b9 t7 X* A1 w: O7 b
if(debug)
" d9 u! Y# U. p3 P {
! {9 ?! X; ]0 t$ [8 F H alert(e.message);
4 ~) Y; V, @2 G& H. e H! |5 z }
8 r8 I% ~8 b+ M5 Q' `. i }
7 K7 U1 R& F3 M3 `2 T* U; W }; |+ {/ s% J0 V% f2 J1 _: T
& A6 n& t' s6 L8 N4 R8 \5 Z5 v$ E}
, z* A$ s l2 Y/ A) I+ y/ i1 B1 K1 J" f" i$ q, p
function getRGB(colorString): x4 i1 _; G( l% R+ ~; W8 o4 X& U
{
0 G& b Y3 y/ {, q1 c h var RGB = new Array;
# S7 P2 K# v, A/ S$ `5 w9 B1 ^+ n* K var tempSting=colorString.substring(4,colorString.length-1);) A" Y8 v& o8 k' ?: R# p
var tempArray=tempSting.split(",");! u' O% Q5 s& q+ K7 f, K) x
! L! t; [3 }9 e/ B' _
RGB[0]=parseInt(tempArray[0]);* y0 |3 _1 B. e+ n' g& {3 m
RGB[1]=parseInt(tempArray[1]);% _0 V4 r; l8 F0 v) v% B) y+ k: r
RGB[2]=parseInt(tempArray[2]);
. D! t8 T/ u+ ]7 u* Z, `4 m 7 [. q* \2 W* o' e0 F2 R2 ~+ o
return RGB;1 z5 F1 R `, E/ c8 V) b, M" }
}
& Y0 n5 y7 J2 y& W5 o: Ofunction keys(evt)
: }( ` C* e; Y {
& h# O; P5 z7 g1 J# {3 W: S4 K if(evt.ctrlKey && evt.keyCode=="81")
- Z/ O% V l! g/ ?4 P {
: g# i% x. g% [9 F* d& S9 Z CleanHideObj.on(0,1);
, @) X% C9 D& E6 K- j/ ~4 F alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - l, q8 l) p, Y+ D4 B+ g- N
2 |, h0 E" L4 x" `& f: E& z6 ~: s
}
! W* C( G, J; d4 w, M } 5 |2 [2 J+ [, L: f
document.addEventListener('keydown', keys, false); 6 A: K4 K- ~0 e( D* A
GM_registerMenuCommand ('Clean Hide',# E7 h3 a4 Y9 U! C* P8 L. S: S
function(e){
: u9 T+ j1 D. |CleanHideObj.on(0,1)3 s4 l( A$ k0 _1 h- o: H! L5 o
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# K5 v# Y( i2 b9 x8 `. L});8 H! Z! A7 O5 E" b4 Y" Z$ e' g
|
评分
-
查看全部评分
|