|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% O& q7 K s ]5 E$ W0 C3 z1 H I6 ^+ l3 {
火狐插件,用猴子; C! v8 [+ n$ Q/ _+ A
* j$ t6 u, x- g# C% i
var debug=false;
/ W* t8 I. C. M* \9 ?% c- X2 pvar CleanHideObj=new CleanHideClass();
( f, H+ h1 _; I) z$ x6 H4 E* Q, t9 t5 [& P# G5 u5 S
function CleanHideClass()
7 g- C \ \9 w% L{
& D+ \: E* F: Y) ?' |8 R
& b! d# j n( s+ i+ r this.on=function(id,bMZ)
* h( m% C! ?3 o* |2 N: W& q {3 ?5 f+ J2 Y6 f
: u6 t8 u9 |% r$ |+ l( s) x if(id == 0)
* ~1 O% F" [" q {
; b9 p1 w( A, @' Q1 u var page=/* document.getElementById("content").contentDocument */document;
% m9 @/ p1 V2 D4 E3 p' C( m3 T this.RemoveHide(page,"span");) n' k0 {6 D5 N
this.RemoveHide(page,"font");
4 x3 Q$ m5 Q# c2 p this.RemoveHide(page,"div");
6 A" w7 l9 _3 t9 ^% i this.RemoveHide(page,"p");1 a o6 I. u0 o* Q+ p" O- ]
2 l% B8 y# H% p6 [
}
0 E( Z0 ?) \+ u% Q 2 E8 A# l% @3 ]7 N- P! }" w
}" B k1 V2 \ L c. ~4 p# l1 j
this.getobjstyle=function(node,prop) X' A& I, V8 w6 T, [6 V7 x# H
{) y' q; |' U3 g8 U% V$ [8 p
try
- B* [9 j! o& c+ ^) X3 m/ \# T' ^" N {1 {/ R: b0 q1 [5 U. b4 Q" X6 l& D
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# `1 c; z+ n/ J
}) E" z/ q8 }; v' W
catch(e)
4 R+ U0 J" F; x* k2 x {
: i# ~7 J! [4 ?( l4 h2 z2 E9 c1 | if(debug)
: ~1 c4 \$ A+ @/ S$ Y6 [ {
2 R% v g$ a8 }3 J alert(e.message);7 M1 z# l/ a( `9 A+ \
}
( l( H5 o N9 p( C5 y+ ?/ Y x1 u
. f! V9 k$ p+ r return "200"; ~' a! f- N/ H
}0 n; R2 _5 f0 J3 v, }
}4 K: R- P5 Q( ^3 Q6 B
6 ~+ M2 c9 q( H: G2 ^( h% X% } this.RemoveHide=function(page,objname)
2 H5 h: @) ]2 g5 N% X7 M {( N* E- A) k4 ?: J6 @" Q7 l& q5 Y" [2 J
try6 z3 q: `# N" I
{
$ P; C: z6 [6 X% A: Y N' Z var minValue=15;
, t) {8 a# q; B# u9 H9 G var objs=page.getElementsByTagName(objname);
4 p2 S2 t: [- H
2 u7 b3 ~" T7 H: v i! r) V3 i3 J: S if(objs.length == 0) 9 X: y# e5 f/ Q8 O; g: ?2 t: h
{
$ A ~0 t% m/ w3 [8 s# k Z if(debug)
/ V2 f4 J- H" ^: @% R4 W {9 X% j3 m3 O3 i: ^& a g
alert("no object found!:"+objname);- j+ }1 w& r" |! a5 v
}
L; J: ^6 X4 w6 Z6 } }9 e x N: ]1 D& E; {
else
; `) b5 P. M1 L& e* X; G {$ ~/ T) i3 f( r8 \4 G
5 p# d6 q" V8 j U) }4 | for(var i=objs.length-1;i>=0;i--) 6 c( n. q: i0 b) E6 o6 {
{
/ q( i- n9 z9 }0 S! \ var node=objs.item(i);
$ n: ]) E- h( `0 \' e. A: i3 i; c7 s 6 w' ~$ \4 X; u& ^
1 [2 v$ m" u! n& `( ?2 j
if(this.getobjstyle(node,"display") == "none" ||, i7 d) Y& P0 v
this.getobjstyle(node,"visibility") =="hidden" ||
$ P( C$ z3 b0 O parseInt(this.getobjstyle(node,"font-size")) == 0) 6 P5 G) @( Q/ Y
{
/ a- N' L* m! |) f1 W0 A; m6 B" c if(debug)
$ e5 N( b# x9 A5 ? {- J: C1 b. {- T: C1 n
alert("remove invisiable!");4 v) L/ Y7 Y; Q1 A
}& v' Q$ F* L/ o! G6 a N6 a3 }
node.parentNode.removeChild(node);
# E' ]+ C, L. L" U- l
]* ^8 ^3 u; x. G& t( ]- Z }
" Y% V8 Y3 ]! I) b. q3 ] else
/ A/ n+ D' q$ Y9 S+ { {+ R' s0 c( Y9 V' `+ B( b" \
if(node.parentNode)
& @: }/ b; M2 ]. {+ s {. R# g) z7 z5 j/ `
var orgNode=node;, v6 k& ~3 T F0 V, E( G0 w! |
var orgColor=this.getobjstyle(orgNode,"color")
, @+ [6 F0 Q E4 x% n2 ? var orgRGB=getRGB(orgColor);
' ]) H; M3 }& L! B
" `( R; J9 i$ d; K, g) ^ var parentNode=node.parentNode* _. E0 G" \% g8 G! p6 G: c6 H
var parentBgColor=this.getobjstyle(parentNode,"background-color");
' B! A! }7 e' V! p/ \' b" g & E/ ?, H6 l1 j
var isLast=false;
2 [7 H8 z2 C' [ 0 @+ }6 Z7 T' y) y- Q* |
while(parentBgColor == "transparent")
9 a5 M N& Q& O' _) H( k+ K0 B/ _ {/ t' b# C. I( N5 @: s
3 k+ U/ V3 t: k+ ?# a# A) U
" E1 b( _% a2 e/ q+ K if(parentNode.parentNode == null)" R( ~# r3 ^: Q# g
{
8 @" s( U" \- Q) b# i- \4 |) k' ] isLast=true;6 t$ t0 k% D/ a. G: m. n# h
break;
* l3 D/ V% ` O6 W9 E5 M1 M. E/ T }3 }! M& L/ v( ~1 ]
parentNode=parentNode.parentNode;
; \% R, Q# {' n S parentBgColor=this.getobjstyle(parentNode,"background-color");0 N% g; [7 Q( o2 Z, i9 a$ ~
- J- Z# X& y% g9 e' U5 K) S
if(parentBgColor != "transparent")
. B8 s2 Q, g. g/ @* ? {' y3 r( W, v2 Z+ w) z# Q
break;+ }3 O4 z9 r; [+ s" @- j
}
" Y, z1 f8 n' t! |1 d }8 W3 B) X! L, d7 E7 Z) m
if(isLast)
' m' ~ V; K. j% R {
4 @/ G0 h$ N8 `; E/ d/ O6 W if(debug)
5 _% u( ^) w9 k! M" l% a& j {7 v( Z" l2 f* ~' a9 H
alert("last!!");7 V+ Y# K! J( g$ U
}0 L& H& u0 a& l* _9 r0 m5 S5 F
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 o& @! E# `' F9 w9 V2 I" L, v
{* C: ^; A% \2 |: M0 R- Z
orgNode.parentNode.removeChild(orgNode); & L5 z W6 {) `5 h0 s/ T; l
}2 J5 h" [- J) ?; S; b5 J4 Q
}
, U' z C% Y4 m else( E& g% u& ]: c: V2 f2 i
{
' D6 |( e1 K9 e5 E if(debug)* a+ U# ~! a! W* A# V
{
/ i8 ?/ @6 |! a, j& s alert("compare color and parent bgcolor!");, I+ T. T% @# L
}. r) b7 ^5 ~! W4 V
parentBgRGB=getRGB(parentBgColor);
0 J0 V' @8 I4 f7 R; Z if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' S) _: w/ D9 ^ {; m' z4 ?# `. Q; G; O @
orgNode.parentNode.removeChild(orgNode);
0 v k! W6 q; @" M1 r. q }
& z( {: D) t( K1 [ }( @7 `" t4 ]7 k. W7 \, c
}
8 M' ^1 ^- h: Q. M$ o* \2 D( z }
# f1 ?' p8 I* U, Y! }0 y8 j }+ x/ v" Y. j: L8 e0 z2 @5 V5 j
}
* P- y" i u6 r7 a$ z9 `" y ' h' s; I& V; A# n1 O
, J, z$ j; F& f. j
var itemFrames = page.getElementsByTagName("frame");
. t, I' w* i6 t2 q; a, A var itemiFrames = page.getElementsByTagName("iframe");4 [7 {& w' v0 z2 d, P$ p) `
- d# @* B( I/ _8 K' d$ y p8 t
var frame, iframe;7 K$ x9 \( _" p# ]. C
if (itemFrames.length > 0)1 ^1 `1 d5 A- k( ]# g
{
/ v# f) o7 M! u2 a3 r* l' b1 L for (var i = 0 ; i< itemFrames.length ; i++) 1 n J' H$ y7 n y8 Y% J. ~
{
: [- s1 ]" k4 C% H* ~9 x frame = itemFrames.contentDocument;6 E7 g8 h8 U9 \ X! f
this.RemoveHide(frame,objname);
+ c9 x# D3 R. H+ d }; m; ?! T& E9 q/ K
}
4 m4 Q0 a$ i5 i1 z1 S, e. d5 W if (itemiFrames.length > 0)2 u$ V. x8 R5 R9 i
{: R, P ^ _ @6 |( X
for (var i = 0 ; i < itemiFrames.length ; i++)
! p$ {+ [2 l+ H! }& |* S! a {
! S' v- `9 L$ ^. E, Y. k iframe = itemiFrames.contentDocument;
# s8 @$ \8 L* q% N/ O! I% q this.RemoveHide(iframe,objname);
7 f( t% A3 ]" d( J }, W$ e/ |$ f5 ^: L, e# g! K
}& s4 B5 K9 R1 C( v" {& v7 S) q
}" j$ C$ m+ c9 P9 B5 V
catch(e)
; N' g' |5 y5 x$ N4 | {8 o5 b8 `* D! ]
if(debug), l9 C8 N! n; T% c5 b
{
# c$ b. K% _: l alert(e.message);
1 q' s% p* d8 f& n5 A$ H }
' X8 U: E% F* s: E" w }( ]* ?" f) K' @/ L! r/ B9 q! C
}
% p: I5 n" K& R" l; F. A 5 u1 ~0 v/ I* i, b% V
}. R( V' C6 c9 P
$ }. @# P- M1 N2 [$ P& r; A) ~% n! a' `function getRGB(colorString)" D9 k( f2 L! x6 m0 N0 ]. x
{
/ z" M! c9 e: k& Q# p2 @ V) Z var RGB = new Array;( j6 D& Z6 D7 @ i" A' ?* u8 t
var tempSting=colorString.substring(4,colorString.length-1);
+ ~- o' [ w- L3 ^; l* U: |" t- e var tempArray=tempSting.split(",");! g+ J+ G! K" u9 G: E
: e7 P b! q- s$ p& m
RGB[0]=parseInt(tempArray[0]);" @8 D: u9 p. B- M) B6 N
RGB[1]=parseInt(tempArray[1]);
% M8 s- p# Y9 B9 N2 }" l, ?9 o RGB[2]=parseInt(tempArray[2]);
" E! X* I5 }& ~& X7 t! l
/ j9 Z2 ^: s7 T. T1 M1 n return RGB;
2 I( K1 @4 T6 V/ B}7 X5 \: a, R0 ~6 j
function keys(evt)
8 R8 d; s7 [: D, {2 @. h {
; q4 _+ \/ P5 `' X! p8 |8 F6 K if(evt.ctrlKey && evt.keyCode=="81") 5 }) n1 O; m" W) d# I' f$ q
{ ; F5 V2 S' `: r9 o/ V" q
CleanHideObj.on(0,1);* r! x9 I/ {8 U2 b) P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
h) r2 K/ Y; q" t6 x6 P$ B$ X - {# R9 d2 ~$ b- A" f# L
}
# b+ n+ ~5 v( Y% ~7 k- n+ j0 c } * y5 X5 M6 B/ V# s- g9 T# [
document.addEventListener('keydown', keys, false); $ P, Y7 F" [/ {+ p: v
GM_registerMenuCommand ('Clean Hide',
4 F1 b' f6 N2 _# N" Qfunction(e){, Q1 o' @6 E& s4 m. P: A# B
CleanHideObj.on(0,1)
9 f& f. q) ^. T3 v, talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ D' Z7 G! R2 c! F, q+ J# N$ ]. |
});- }- t2 j/ P4 \% _9 Y
|
评分
-
查看全部评分
|