|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , _* V, x: ~5 R9 ?- y9 j
# Z$ o& r* K, u2 V' K- p6 \
火狐插件,用猴子, l& @* Q# b, O
" z# C. M v$ _* d* i
var debug=false;
! s: ^; j( i& D. F9 N D; k7 }var CleanHideObj=new CleanHideClass();
6 k2 k( Z9 U' Y# S- ?8 f2 {. e" @, m* l/ F7 ?7 u- T" N
function CleanHideClass() : q. \) ?7 P- \' l% \: B O
{
; C% x1 t( |; S" \ u, K0 D4 |" l
this.on=function(id,bMZ). p t2 w( P6 w
{
7 F- B1 U" Q) a: ~$ Q / p6 y/ a9 `2 O8 ?
if(id == 0)2 I7 r) k1 m5 M3 O
{
, ?, c: ~6 J h3 Q3 g% n% s- X var page=/* document.getElementById("content").contentDocument */document; * g& \1 }# s% o ]; R* Q3 Y
this.RemoveHide(page,"span");
3 x( J1 M: m! `7 X) |+ T this.RemoveHide(page,"font");
$ d' ~$ L4 Q p+ ?# `6 i, ` this.RemoveHide(page,"div"); Q% S0 m4 }0 O
this.RemoveHide(page,"p");8 @' |& p* L, Z- n1 P; S/ s/ F y1 F
* ~/ ~" z5 R1 r: p; P }
5 x, ]# m7 y2 }$ G1 l/ O
0 U8 ~5 g3 B+ s ~0 E5 i! W$ P }
$ S5 A: O& a+ f* j" q$ \ this.getobjstyle=function(node,prop)
) _2 g6 n1 e5 r+ ~4 K7 W5 G {
/ l: P1 s/ }/ i) X9 E- w, q' h try/ x+ k+ l9 L# J7 z' T. H
{
. h' n- } V4 A; Z( n0 A! _- Z3 Y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# G/ H, j6 f# N }
1 T# x+ z w9 V* @5 d9 o catch(e)
, S" i+ }7 G) `' j+ r {
8 W5 r7 ~/ o6 u! e! P% c if(debug)- Z% a2 h0 e9 e& r
{
9 q9 O7 {9 x4 F1 d% ?6 [) v alert(e.message);
5 z" z- M" k' T& i, F$ A }
" ]- E. c2 L4 Q; j" q% E; s) G 7 D: e3 z i- J) |
return "200";* u% j" W0 a, ]" R1 Y
}- V- n- E2 x! z' |8 Q+ p
}$ G; G& A& i$ s6 p
- c. D) p& s, Y
this.RemoveHide=function(page,objname)
0 E5 m0 [% c5 G& \( w0 E {/ n3 s2 F9 {9 D" U+ G) @
try
?! F* p5 v! |2 d9 f; ^! U {/ w: G' }! q; F
var minValue=15;
* K8 Z" S1 F6 ] var objs=page.getElementsByTagName(objname);
4 Q/ O4 K6 |7 [$ L1 w. P/ D+ z3 X, [% K% S$ ^- e: V5 u
if(objs.length == 0) 0 a$ H( K7 _, f4 o; B, ^
{
5 s; p0 q; G. t3 R. ]$ X6 g6 | if(debug)
}0 o1 x( f5 u, ~2 j$ y' g {
9 u; ^; ~5 t: m/ I* s5 R3 Q alert("no object found!:"+objname);5 `, m3 G0 H+ t6 y( M0 b
}
6 F9 b5 \1 h0 q7 r }- C% o# [: u/ l) o9 j
else
# f. |8 E% y: n. K {: |" O4 Y& q- K+ Z
# o+ n; i. M+ H. r6 N
for(var i=objs.length-1;i>=0;i--) 1 |3 M5 ^8 N% p8 a
{
5 Z" a6 L) J) [# i: b var node=objs.item(i);
* ]0 H ~7 F4 ] $ q6 k1 N: }5 r8 B4 S( j
. z$ e' o) f& g2 B# L: N1 K. [+ Z2 x
if(this.getobjstyle(node,"display") == "none" ||
1 g! }+ v5 n) x5 ] this.getobjstyle(node,"visibility") =="hidden" ||
, Z3 X; R8 o9 _# v3 P parseInt(this.getobjstyle(node,"font-size")) == 0) - b; u% y# k1 n1 }4 n& @
{1 M8 m" @$ `: }' w9 O9 s
if(debug)( T4 e$ R) m2 B+ _' z
{* R' V+ |5 o' M' ?$ A. Z
alert("remove invisiable!");
- P: a/ I0 s, i0 b! h# u' G }7 t/ W8 {9 V' Y" G, g& f4 j' X, F
node.parentNode.removeChild(node);! {: l! G( W, s% _1 X) }2 D
! E. y5 {- `5 A, W0 A }
- n6 \( D( F1 L1 R4 X5 S; Z else
/ f3 Z+ b7 c' l. R0 s* O6 O$ X) S {; p; E3 l4 }% _; a3 ?2 Y8 U% j
if(node.parentNode)
# R% _& t7 z* W- @ {
2 ~, J3 i" M# Z" ?# S var orgNode=node;
* z1 o$ G: B% \$ ~ var orgColor=this.getobjstyle(orgNode,"color"): m/ r% M% h- ~
var orgRGB=getRGB(orgColor); / W4 m9 @* X/ q! o" ~
; i e8 W$ C _$ x8 o* x& y
var parentNode=node.parentNode6 }. _& F9 ?# u* K
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& V) s: O3 K/ X/ J) ]) r( `: h( g# X ; b! A) ~- @% Q/ U5 K! f$ Y+ ^! l) g3 |
var isLast=false;
$ \1 E( h* Y: I
2 P8 R: L7 F! }. C7 J while(parentBgColor == "transparent")
5 w& b+ y r5 X; ^7 Y {
4 @" X; H/ H) A7 F, g3 I& q ( @1 c& F- R0 @" n
* Y. a1 [ [2 K K1 Z* ~9 _$ P
if(parentNode.parentNode == null)
: O. x4 K: Q3 y! D {+ N3 g" F' t4 Y/ y. n
isLast=true; ]1 M3 h6 p' o9 ? ~
break;; K& R3 s+ w" K+ W
}# E0 ^" h S& M2 [# o! r
parentNode=parentNode.parentNode; K( b( {- p1 X
parentBgColor=this.getobjstyle(parentNode,"background-color");
& E9 o. L' ~2 e! I0 c3 |) d8 m- P0 x
if(parentBgColor != "transparent")
+ V8 e$ C# m0 i) V) e5 ~ {6 V5 s0 j2 |8 P, j% f }/ R
break;
/ u( J" S5 u8 \6 m# {, X: X; k }' n) J6 ^% v2 L2 e- P
}
& ^" o5 Z+ k# {- c( d0 C s if(isLast)
$ T1 Z- k+ ~! Z/ w% y {
; V$ j( n2 | M& e if(debug)
8 v# ~" I4 m2 M" a3 Y0 E: d: v3 b {0 t3 |# w- P" |& u/ d- }( D0 K2 u
alert("last!!");% X' ]3 ]$ F9 f6 N2 p4 B
}
7 D4 ^9 h; A; _ l2 `/ z' n if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: A1 t% Z8 ?6 {6 F g$ `) s {3 |+ J, ^) Y, c }
orgNode.parentNode.removeChild(orgNode);
( m* ]( q; N2 B6 S/ w }
& b4 S" Q$ t) S: L$ d- L }. F+ p" x: w# ~& c: f5 Q
else8 G V+ T$ ~ |+ P
{% F8 |8 P' ?0 _: k9 W ~0 m4 g
if(debug)/ @! z( }2 z8 p3 {* C* a: @
{8 L" u7 K5 [$ o# d
alert("compare color and parent bgcolor!");
! R& _5 [' j7 x. D }$ p' w+ d& p: \8 L& x& K
parentBgRGB=getRGB(parentBgColor);
8 d( V: m8 `1 s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, o2 _' q: O* J; q* \ {
e" K) s$ N) U/ ?! u P orgNode.parentNode.removeChild(orgNode);
# c- B4 R# j" q3 b }; ~ N, V0 l3 a y/ F
}
3 V6 p! r0 a3 J% ~- h }
" j6 I) `( T2 q4 I% M2 D }
; `* h: i6 W* Y/ ]. Q }& a- j6 U" V- n
}' G# M. A+ |: V0 ]$ z' I
5 h( b/ V( o; t+ F# V7 V5 j) t. k
+ h0 m7 K8 t8 W) w var itemFrames = page.getElementsByTagName("frame");
3 Y, T% K. P7 K0 c! Q$ w6 {+ v* G var itemiFrames = page.getElementsByTagName("iframe");
, W% w7 t1 u/ b. h7 O0 q0 E6 F
: X- D- v7 W) e: f var frame, iframe;
0 @' u* B" o8 h7 y6 w if (itemFrames.length > 0)& ~ ~% Y$ ?4 F5 r
{4 s/ \* v# U& u. f2 U6 q8 A
for (var i = 0 ; i< itemFrames.length ; i++)
3 u5 a; O: Z6 Q7 i- m1 q { _3 l- q, ?' h4 N& D
frame = itemFrames.contentDocument;
( f/ N' [6 y9 x. z this.RemoveHide(frame,objname); - l5 i2 ]# `# M' ~0 e# z. ^
}
& q/ X4 h/ {9 x* i) [ }0 j6 O: y0 I# V4 ^5 \' l
if (itemiFrames.length > 0)
( |" E% P: S/ `9 ?8 n {$ V; F; z" r! i0 h$ I
for (var i = 0 ; i < itemiFrames.length ; i++)
8 m+ P6 v9 q. x' _ {/ q7 o9 t5 R* G. \- Q
iframe = itemiFrames.contentDocument;
1 c! Y3 l) y3 T! C9 l: v. H this.RemoveHide(iframe,objname); . o$ V/ y# \8 q9 |4 s w
}
9 K- A# Z, R& @8 ^2 M }
3 f1 c) V$ ]7 k9 O" C4 o# B& L8 j5 @ }
9 L- J! {' ]( c catch(e)' |4 |% @+ n% P; [
{
$ |: E2 [5 `2 n# P. P; N2 e if(debug)
3 k' U8 z! c" O, l1 f- t/ u b+ u {
. E+ B$ F; F' A% G; b# a3 z! V alert(e.message);% [8 x+ k9 }6 n" P
}
; C$ i j) P* Z, _' N }
0 R" n5 e9 v) v$ x, N; Y: x }
6 r; u, p7 z9 k9 T & n |# c# W6 |; B a6 W- f; C& q B
}
9 R7 X$ e* u# f9 G5 g3 {; C: K! {2 u7 P) o
function getRGB(colorString)
( _' I* `1 {9 B( M{- e. L C0 v3 }; _$ R+ [
var RGB = new Array;
( ~; R; b0 I% z4 N, ^9 r9 |0 b var tempSting=colorString.substring(4,colorString.length-1);
% z" c! `' y8 j+ ?" H; Z5 H var tempArray=tempSting.split(",");: R; l C9 g9 ^* N) w
% F9 F) a' U1 j! z$ U
RGB[0]=parseInt(tempArray[0]);" [, y i5 l% Y# i, Q: n
RGB[1]=parseInt(tempArray[1]);
& ^4 V Y3 M: L RGB[2]=parseInt(tempArray[2]);
! ~( E" M$ N) d- \; e4 X6 O ' ?# k$ J6 |# t; {0 G8 q" [; ~- D
return RGB;+ W. G% N K* ~# t& c( v7 a7 K; j
}
" r2 B$ Q/ @5 f; }/ q+ B; Kfunction keys(evt)
0 ^, I8 U% b7 }$ K8 }) x* _% v& F P {
5 p% o# w0 W$ d: v8 p if(evt.ctrlKey && evt.keyCode=="81")
6 [/ p* t- ~. X) g) y! K* H4 O { - m: ~) X" v% u" Q/ I/ C6 H
CleanHideObj.on(0,1);9 B3 J1 w9 ?8 f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 z1 I. [9 N8 k) [# x 5 I" g$ e r+ n `5 _
} 1 k, T5 P! A' \* Q
}
, P7 }6 e0 Q) N/ D0 L, k$ Idocument.addEventListener('keydown', keys, false);
7 K4 b$ f% T. Y& h; I5 i" _GM_registerMenuCommand ('Clean Hide',: ]9 Q* Q: E j2 D
function(e){ c/ h+ V# i# a+ k p! f- S
CleanHideObj.on(0,1)3 Q3 K: v4 P; V7 s! M6 w) e( U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 \* i0 D) z( W});# ?5 n$ O- j# l
|
评分
-
查看全部评分
|