|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * Z+ \7 B& b3 @: P" T4 D2 z- \! `
4 O2 S2 D) i! G' L% R& s
火狐插件,用猴子1 Y2 E: J& G+ m8 Y1 S" _
4 n; n% G; {. x5 b) P. z' n& qvar debug=false; + F7 L3 j5 v/ \$ v
var CleanHideObj=new CleanHideClass();
! U/ s2 [6 w! Z! ]
- B4 j+ {2 l$ s' p% d' z1 Dfunction CleanHideClass()
/ K$ {* C( ~: Q/ ^) f: e6 {{
, m- [$ o9 {+ y( _0 C) \2 T$ g/ ?0 t ( a1 j/ Q- u3 q4 @( a, o
this.on=function(id,bMZ)
- T5 `( a7 N; L0 I4 | {
% C& {" I4 J0 T: c- }/ y( w5 Y; [
; q. U' e% r/ L4 } if(id == 0)/ D2 U" G8 h! V4 W ^, q7 V
{/ |( m5 {" f1 `4 u! W
var page=/* document.getElementById("content").contentDocument */document; 1 B6 C: }8 e5 M' j+ i
this.RemoveHide(page,"span");; c5 S0 ^4 j1 @0 L9 ^0 f( r
this.RemoveHide(page,"font");
9 c: W1 b# Y4 S( z2 n, n: _ this.RemoveHide(page,"div");. n/ Z0 Z6 v$ s2 |$ s4 V V
this.RemoveHide(page,"p");
7 ]: K2 H; `/ r" r3 O$ F 1 p% e' |, S6 b8 }4 A0 P, V
}. k6 z7 w) h& p+ W6 Y8 J6 p
0 B& H! b) N- m3 W7 ^8 ^. A
} I5 q* a$ z$ O% H& k6 W, Z8 {! S
this.getobjstyle=function(node,prop)
$ u# X. _% T$ q0 `1 ` {! A) M0 o4 s- I2 Z! Q& P
try- V, w; V& R8 z
{, ~5 p' O* D% h6 v( u( n+ N
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 p# {6 @% x& r& S( p }
; g1 z$ y" @5 W/ B8 I8 X8 h catch(e)$ j: w- `* I! ]
{$ u7 X. {+ [$ n% U$ o/ Y
if(debug)
) t: v2 T4 o, W7 B D* E9 G {7 o4 W; J# I# @$ u$ r# V
alert(e.message);' | Q/ P, L: [6 @8 Y
}
: C* {! ?# q+ `6 e1 O! a6 Q; [! j0 t 1 h. ?3 S7 u% a8 `. d1 k
return "200";
R$ z% X; R4 p9 M" v: I+ P' n& q }
7 {9 k. U6 q, B8 {8 v }
* P+ v! P% b7 _- K' L, e1 Q4 v- \ ! X2 B( G2 S; o8 X% q0 d
this.RemoveHide=function(page,objname)+ H% H: f! s' h, D% h( y' j- f" p/ I8 d
{$ ]; U4 B5 H* p3 d
try
: I) _. r$ q: F7 R( l1 J2 Z6 g {
* V7 }2 b, W. @& O3 D* D) c var minValue=15;
' D/ y& Z7 B1 k' N6 [2 C$ V9 M var objs=page.getElementsByTagName(objname);
& `6 V# O2 p# L2 \- {; R6 ?5 |1 E% e. s" y: u! ~
if(objs.length == 0) ( Y: N9 T" C( g0 S+ x/ t- W$ [" A
{
3 D _9 F5 c% T if(debug)* H4 {0 a9 C6 {3 P/ j5 `2 [
{% B% i( a8 D r2 v, o
alert("no object found!:"+objname);9 Q/ E' \) Y# `* C7 |9 n- U3 A
}$ q; P5 {: F6 y% R3 O/ R
}
, e# d2 J. N; O& G$ P& p else
9 Q; P# Z) `" y( N8 l P# U {2 v8 N1 q# \5 m1 [
& N' d# A, y7 {* Y5 d2 p
for(var i=objs.length-1;i>=0;i--) r4 {+ I) X# t
{; y# T# }' [# [9 P/ Z
var node=objs.item(i); 5 o, }1 }0 z" H
4 N$ |' k A# ?) j( r
' I; X; B3 F a6 `& Q9 V
if(this.getobjstyle(node,"display") == "none" ||5 ~: v2 q" I: m$ t6 [' O
this.getobjstyle(node,"visibility") =="hidden" ||+ ?- r" Y, j, M, B d* v8 {
parseInt(this.getobjstyle(node,"font-size")) == 0)
1 C! l+ @9 F W; `4 I4 ` {' q$ S. \) f$ s6 b
if(debug)3 q: {' E: [- z" Q7 W5 F
{
( r0 e( k; z( R9 z# w alert("remove invisiable!");# z1 w+ A2 ?& i) w; J: d
}! {- h- c5 l+ E
node.parentNode.removeChild(node);0 S' I8 o9 b, n* I; ?3 Q/ E
- o& V5 U1 l; i% Y7 V/ d6 b }9 u+ a1 F' {, e& v& l
else
' j9 m! V1 b8 d } {
" M n6 w& W9 z& z( P if(node.parentNode)
% H2 v% V, l$ J. j" ?% K {
7 [# w3 c$ U: {! F$ G- G- A var orgNode=node;) l- P# L! \! y* N: p
var orgColor=this.getobjstyle(orgNode,"color")
& M- s$ V% C8 z3 ^* z var orgRGB=getRGB(orgColor); ' b- y+ {# H$ l) W: M- m
" [2 o' Y) @2 S- g5 c var parentNode=node.parentNode
) `. z' f5 L+ T2 n/ T7 G var parentBgColor=this.getobjstyle(parentNode,"background-color");5 u7 G' F2 k8 F+ }
7 H! v2 B5 Z W: B& w var isLast=false;
' f* F. q/ v, @+ ~% B7 L6 e0 I
7 |. H, ]1 U* g p& y0 G, r6 O# b while(parentBgColor == "transparent")
. s9 z+ t8 |* ] {- g% W: w! s/ Q* j
, a# d* [/ E6 O
* Y3 O7 k% v( w+ U$ [
if(parentNode.parentNode == null)
% i+ M/ l) H: v {0 z) [$ U3 o' Q/ J% @7 O, M
isLast=true;6 H- y( {) ]& k7 Z
break;0 t& n1 m( @; N# u6 {6 C
}
! P+ \) | E' }* P; o+ Z( q+ s( R8 x: j parentNode=parentNode.parentNode;
5 A- N1 p p7 [ parentBgColor=this.getobjstyle(parentNode,"background-color");' n1 {2 [1 _7 |- b, i+ u1 X% N
% ~0 V! j, j5 S4 w" O: R3 G
if(parentBgColor != "transparent") / t# \1 k1 j; Y# J
{
+ A& S" R- Q# Q) s. E& ~ break;
4 e5 L0 ~5 i* |6 P, E }$ K3 z w9 C6 _1 v! y4 ^, B
}$ ]& e* |+ r/ I5 B6 T: c9 X& V
if(isLast)
! R1 v7 _5 g2 ^8 Y7 x" K {
1 w# b `' i3 ^' `6 g4 Z if(debug)' H1 [7 C8 l+ E
{
, R, Z: e, h' e, R; p4 Z6 P alert("last!!");
: S& K* p& g& D }/ m, c, h1 t4 Z( {+ }
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 G! y( |+ v/ G/ f2 S# b {
/ X7 y( t2 y+ r6 X) q0 Z orgNode.parentNode.removeChild(orgNode); : j# Q( H4 @' ~5 Y# e4 {
}
3 N6 X, y! V; h }
& V0 K/ |. \7 K( g3 y0 w else
: ~3 q% v, b( }. o {$ D2 u' f; c( L, Q) S$ q% i+ d. u. t
if(debug)
5 ^# M0 o3 A& ?2 U8 X( E( X {
8 Q% f% @ y, d0 C( P% i) R; v alert("compare color and parent bgcolor!");9 R' S" n3 \: w8 ~4 o4 f
}9 N7 u5 v1 G( s5 c& L5 L6 l
parentBgRGB=getRGB(parentBgColor);
) p7 o2 c: ~6 ^' f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& Y8 e( b, G* B+ E; Y {
* t4 O u8 p6 r$ X orgNode.parentNode.removeChild(orgNode);
1 b5 n, g& b3 j }
3 J$ L. n/ \; u }
; h3 J6 V7 g8 N0 D }
) @% N- b6 ~2 G. r5 Q }& D. I7 R6 B8 A; e/ U9 P& L
}. J# ?$ N6 b) t- _7 f
}
5 y# i, s( _$ \+ R* b* j! B
$ m3 `1 m8 e2 ?( q
5 ^) l; C) `0 G var itemFrames = page.getElementsByTagName("frame");
0 c) L1 h4 _2 O" L: c var itemiFrames = page.getElementsByTagName("iframe"); u6 F9 K ~9 ~# b5 a; Z; \
3 W# o% ?. W; P% C" E4 B var frame, iframe;: w+ W3 X. _: [2 y: G% L
if (itemFrames.length > 0)
* `* o. Y- B3 Z; ~ {% o+ V1 \0 D2 V2 x
for (var i = 0 ; i< itemFrames.length ; i++)
* H# G$ l [5 r {" B* G- b1 O4 J/ R) w/ y# P8 |5 s. C
frame = itemFrames.contentDocument;
8 |) T2 N# v/ n. i6 a m+ j* A ~ this.RemoveHide(frame,objname); 5 O9 O z: b5 @5 S t
}
% c. j8 I P9 O# h$ _- L* j9 G }' x$ l5 ^4 M% H: ?" ^6 w0 f: G* y
if (itemiFrames.length > 0)7 ?6 }' V, ^" t1 L7 z/ S
{1 ]+ c- |4 P0 M- i6 D, d
for (var i = 0 ; i < itemiFrames.length ; i++) # a0 ^8 p7 n7 H6 x
{
! v2 w# d0 R" R4 x/ m iframe = itemiFrames.contentDocument;
, U( R4 j& \; I6 w6 W0 { this.RemoveHide(iframe,objname);
* c' z9 ^" h7 b+ `( D }
7 C" d9 z# B) s7 l h4 F% W }
! J- I' S! X2 S1 i }. j7 j( f3 P7 t/ `0 ]- S
catch(e)
# Y8 c" f) t+ W {" q3 J4 u, b* c
if(debug)9 V5 `# m( F! Q
{5 A! `6 i0 @; `. {# `2 @
alert(e.message);
3 Z" }! Q1 B5 i Q1 ? }
3 `. e8 T9 W- n, r1 j1 H5 } }
! [- k- b" L& ] }+ _8 Q3 B% D: E
% ~; q4 Q2 c* D _6 m1 k}; B* Z7 j/ [, e% ~) a* e
. T+ W( [: T4 r$ x& T6 T- j1 pfunction getRGB(colorString)5 S \$ E% T+ z* ~* }7 |
{
0 W& d; a8 Z* q% X! x var RGB = new Array;
2 f, ^8 S/ d6 o var tempSting=colorString.substring(4,colorString.length-1);
0 g$ F2 K& q0 Q/ l+ K5 M3 } var tempArray=tempSting.split(",");
! K! S$ H) h5 y. I( u8 ]
- |( A; \8 S( E9 c% X! B RGB[0]=parseInt(tempArray[0]);* O( [8 P7 o# {( r) V9 P
RGB[1]=parseInt(tempArray[1]);& D ] N3 A4 s" R1 s1 e
RGB[2]=parseInt(tempArray[2]);% x- x( `/ e; D4 W
" a4 ^# _; i" B; L2 n: q& f return RGB;
) {5 R' D# L- h) U) x+ e}
& C1 t2 y6 _9 C2 s0 C( @& Wfunction keys(evt) # m, N' X0 F7 e
{
/ Q5 @9 }: X* U! x# N if(evt.ctrlKey && evt.keyCode=="81") " X- f$ X; s$ m+ ~: g! Y2 \6 ]
{ 9 {! z! ?# K! B2 n0 j- B
CleanHideObj.on(0,1);: k6 _% }# l3 @* h' e# F
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 C% c: ?+ A3 E
# v2 o$ ?8 m. |& A } 3 F/ z4 E7 f( w* Z4 [6 ?' e" C7 }
} * U3 P3 P8 S, y$ r- D9 v: l: _9 x
document.addEventListener('keydown', keys, false); ; F/ a/ g7 f/ L4 W' K
GM_registerMenuCommand ('Clean Hide',9 `% b$ f# @* z' p3 h1 `4 i# z
function(e){
( a0 c' T8 H3 w9 j( B" C6 bCleanHideObj.on(0,1)
% ~7 B1 T x/ Z4 T) C/ malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 A# C# [5 v2 h& n- q6 M! E% Q& f});0 w- r! o& o* @- H, I- K+ U
|
评分
-
查看全部评分
|