|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; K' Y4 ^+ ]. b6 _% r p4 x; Y4 Y( w/ }- x
火狐插件,用猴子 [1 q0 P2 k9 m6 r! B L7 Z
! y5 [8 A# A* ^* O0 I3 u$ kvar debug=false; 5 ?6 m: w p8 P8 r
var CleanHideObj=new CleanHideClass();
" `2 Z: Z8 E) e$ `! z# j0 {$ v3 q, a ^
function CleanHideClass() ) _. Y3 w% b U+ ] i# S
{ z& F% p- ~. o7 [! C
% ?) |3 e7 E( N) } this.on=function(id,bMZ)1 w, M9 V9 `) T, k6 y2 ?
{+ a: A' z* S% c* w
% ^& X: m2 \( H
if(id == 0)& y3 h2 t: }% w1 `# e
{2 a- r9 ]& O: U- o5 i% a) @+ y
var page=/* document.getElementById("content").contentDocument */document;
8 \. W6 G4 ~0 m2 { O; B( @ this.RemoveHide(page,"span");
' S2 `" L8 i% P8 S0 { this.RemoveHide(page,"font");
6 m8 K8 d0 t; H this.RemoveHide(page,"div");
! Y3 `; i# ^5 x# E9 a: Y this.RemoveHide(page,"p");( d0 _7 e) H5 W# e) R" |
+ U5 R: T8 H E( l* T }
]$ f) q9 t5 G$ i' D/ e$ z. l3 \ ( W9 I) w4 _6 }1 \' [) Z0 S; |$ ?
}
7 P6 O/ l P7 I @; j4 c* g) h: B( Z this.getobjstyle=function(node,prop)* ~1 y' N4 V% ?, S `5 q
{
7 E( O! N$ }" y$ k- K7 t try! D/ K5 A4 L. M. u* K
{# v, G, |6 a6 G
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 T6 X3 Y; J# u0 H F% L3 m
}/ s/ J& }/ w! s f% V& f
catch(e), \1 v, S5 `# b1 P
{
9 Q. J! R4 Z% \; L if(debug)
( _# [! j# Z1 r {: W; n# h" F) y1 ^
alert(e.message);! d1 N ?7 \9 `! @
}
% c+ ~, n/ |4 ?3 B
% Z$ \3 w7 A4 p# d5 [" z+ A return "200";
# d* U$ C8 A: z/ Z/ s }4 m! E) C* _" u$ v6 u) b6 u
}
) ^* o3 |0 B7 r. N- u+ h% U- b
, d. ?: X& I% w3 C. y& ]& h# g this.RemoveHide=function(page,objname)
* Q! T+ j7 `2 N( N! \% ^5 L/ v {: w# r; I/ l$ ^6 y: u
try
; R0 m$ T! ]5 X6 r {2 {( Z1 ?) V1 S1 ?; J
var minValue=15;; A/ S4 \- k6 c# `' l4 p' j
var objs=page.getElementsByTagName(objname);
2 k$ p- C$ t* ?& g9 k) C7 j5 o' y7 B/ ` g+ q, H d4 p) D
if(objs.length == 0)
' A. g2 q0 a. ~* X4 J7 ? {, t' h/ Q/ E$ C6 @# W
if(debug)
3 u' y/ t6 S% w: Y {- m( T6 v1 S# [/ Q
alert("no object found!:"+objname);3 k( k4 L# y3 I. J5 M0 L$ v
}
$ \) D+ R; C2 T0 S1 ]8 `- F }
l: ]; O. p% R8 X# g$ {* ^/ u else
7 \1 {: D1 y3 ] `; E/ f% e) N/ I {
% n$ E2 `& p2 s9 s3 y2 I6 }
B$ `, v3 Z: @: y' b for(var i=objs.length-1;i>=0;i--)
2 F1 \1 ~' ~& m+ { {2 {" }) {" I% k$ }3 K0 `
var node=objs.item(i);
1 U" X4 q4 t' h
' w2 w# U3 G6 `6 I! U3 u
& k# y$ a/ N/ R! }: M if(this.getobjstyle(node,"display") == "none" ||4 q' ~( A+ D: J+ i
this.getobjstyle(node,"visibility") =="hidden" ||9 a/ |! ]: p+ A, _, J4 ^2 m
parseInt(this.getobjstyle(node,"font-size")) == 0) ) t2 [2 _8 }+ m' ` V
{7 R# f" } F. P/ y* \1 {& {
if(debug)
: S: J, `' j( z) J4 ~ {" E6 L4 A5 s, R) o/ i( r" S+ Z
alert("remove invisiable!");2 q; c, C0 Y: n2 p5 c9 Y
}& H* A- N7 h) a& ~
node.parentNode.removeChild(node);
9 I/ _" n5 W! k- Q- X' _ B 9 M/ {; }% w1 H/ E! v4 v
}; A$ a' a2 x7 J& d" s9 O
else " k6 ~, F2 }. k# P# i# [
{
$ |! c/ \7 h8 }. K4 S if(node.parentNode)
' s9 N' @, P% g8 x9 D) W% s9 ]4 a {5 V8 S L+ e; I; z. @5 l: T
var orgNode=node;
3 w' u1 r- W& @9 [( H' h; Z6 k var orgColor=this.getobjstyle(orgNode,"color")
0 n3 n( {, f; b2 o var orgRGB=getRGB(orgColor); 6 ~2 X1 G ~; ~$ J
7 Q1 T& p/ G# c7 R, i9 E var parentNode=node.parentNode7 [2 o% s C* i: y
var parentBgColor=this.getobjstyle(parentNode,"background-color");
; n7 r7 Y7 w- R9 f8 L1 l
: Q( g7 G2 h! J var isLast=false;
) B0 n8 @( E) I2 x- t4 \! M
* b# p, Y+ f: @+ r+ D7 [ while(parentBgColor == "transparent")
/ w/ u) H% l& B5 v# I* ^ {
% {. ~" B& P, H$ F4 m, `2 B
' p9 u% N8 }9 u( k. P! M" W7 f% F , W( d ]1 f3 Z8 |7 s9 N
if(parentNode.parentNode == null)% c$ e4 E) C" h
{
- G. ?9 `, n' g; C; i isLast=true;
$ @4 g6 y1 A4 U; D* ]3 C break;5 G& j& x+ M$ J r! p% R4 [# f
}
7 u( _; A/ e! Y% q" y5 Z6 C% g parentNode=parentNode.parentNode;
]& c" T" U+ b% k parentBgColor=this.getobjstyle(parentNode,"background-color");
A* H9 @( n; H8 K, B
- M1 j5 o. J9 e# d if(parentBgColor != "transparent")
, K- C" i1 s$ G {' z; R g1 w" L: R9 M) \! t
break;
# u/ B$ q1 k3 c% z, h }! `( H7 h3 A' D9 E
}
5 F2 v9 ~ _0 p% ]& z# J0 h if(isLast) * v& L& V9 n$ l+ g; o. x: L
{! [4 [9 }% W) {4 B
if(debug), H* x" A/ ^/ C4 E# q9 O
{
: n. z, Z5 u7 ^- k) X! ]# F alert("last!!");
# c; Z3 p3 t1 R, l, P: ?8 b }; }) T9 H) v, @* ~
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 A/ p \( k, Y8 P- a* \) _! a$ h
{0 D! n; ]1 s2 M/ }# r
orgNode.parentNode.removeChild(orgNode); ! @1 t8 r3 A% {
}9 Q `( ? i8 ~9 k4 J% q4 I4 }* `
}
- z S* F$ s0 B2 U1 e2 m% L else
1 e4 | Q4 ?( d7 } {
" a/ [5 G7 J8 i! E1 b if(debug)
: X! ?0 P' S: E* l( c" s {4 v( J x/ W* ^2 W* P: M$ X
alert("compare color and parent bgcolor!");5 l2 C( S$ b. l" g, N0 g
}
" @# z3 L9 x4 _- J9 a- Q9 _4 E parentBgRGB=getRGB(parentBgColor);
' H1 R2 F. |1 e& y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ W4 p8 Z' T8 C. ~( l {
5 O" V2 m& E, b. Z' N orgNode.parentNode.removeChild(orgNode);
. B: J ~2 V, ]6 ^- B) ^ h" ^ }5 N: [2 ]& z& Q6 }
}
4 I8 i* V1 Y6 u2 a' M! p( J7 B }
4 |* m, C2 R8 j9 W+ Y, g }) Z/ ~% C0 v' D- |* E, X
}
9 B( D9 N) k; p" @$ o }( ~; i0 b) ?3 T7 V# d- b
' X6 _2 m+ G7 K& \ ! q: I( e3 k; U* T3 R9 }
var itemFrames = page.getElementsByTagName("frame");
( q% X; L: B1 R( k+ z& C8 V, A var itemiFrames = page.getElementsByTagName("iframe");
# E+ m8 a+ O, [! H 1 o' J3 S# G" Z
var frame, iframe;7 p' B! C# Y; p% \ d8 ?! Z: N
if (itemFrames.length > 0)
8 L/ @ G. H6 `! w+ A6 C, e {9 ^4 Q& Z% Z6 K5 T7 R# i
for (var i = 0 ; i< itemFrames.length ; i++)
}0 |( z) b( ^( q# U* C {0 `5 O5 M" G0 S; I$ r. ~, C
frame = itemFrames.contentDocument;9 x* Z+ s4 n5 I/ ]
this.RemoveHide(frame,objname); 1 |* Y$ w7 O5 _7 R; Q( f' r/ u1 V
}
- A5 \0 u1 k' J3 ~ }& s1 m2 y# Y: E7 r" O- {
if (itemiFrames.length > 0)% k6 d# H3 n9 l6 i
{
( ^* g: v& d' a for (var i = 0 ; i < itemiFrames.length ; i++) 9 V4 w/ {1 b8 f
{: H6 `+ k1 {& V) b$ u; s
iframe = itemiFrames.contentDocument;
2 n( F0 L! M# _; Y% Q& E this.RemoveHide(iframe,objname); / ]5 g! `- H J V ?
}1 \# G+ v( B* y3 b) Y) ]+ ^( L8 ~
}8 [$ }. M& k! L0 \- ^
}* B; n, X/ ^ V/ K2 C0 s
catch(e)
, a2 ?* \7 u0 O$ a2 x {
T3 t6 j8 b' n if(debug)
9 J6 V L, [$ @3 I+ U" S' a% `9 e {9 c9 U8 i* J& U6 M
alert(e.message);% K3 m" e9 ~* s6 D/ g/ ]
}
) Y. R# ^ Q& u+ m0 _; z0 E. V }8 _ p' N, w+ D3 W3 _0 d+ `" T
}6 V- l; V) p0 F9 q8 g) p' B
: {. i6 h- y' _$ u' @}
% M) J$ b' w$ C6 S' d
) ?3 |4 M" H+ z# d3 R# r m, sfunction getRGB(colorString); U7 g9 S# _5 |% Q' P+ a9 e/ H
{. M9 a p5 `" [9 ]
var RGB = new Array;8 d' v" H! n: X. e9 K: {
var tempSting=colorString.substring(4,colorString.length-1);
: ?9 y1 R/ S- }1 P+ t var tempArray=tempSting.split(",");
7 P, X/ O$ j( h; h6 Y+ x: m; T1 C) S: T `5 ^3 H# z
RGB[0]=parseInt(tempArray[0]);
7 C2 ^6 n3 R% U& W+ a RGB[1]=parseInt(tempArray[1]);$ w; Q' ~# Q+ Y6 W- M0 H" A1 i
RGB[2]=parseInt(tempArray[2]);+ |/ O3 \! v, o9 _5 O' o; e. ?
3 p# L- r! H* ?/ @+ X, l& c4 U return RGB;- b" ~) }/ l7 t6 b
}& E( g% w* f9 U( `& u2 _! a
function keys(evt) ; [- c/ t& M. H: i- M" a( {' h+ B( `' @0 P
{ 2 h/ m0 W3 D: V/ {2 M
if(evt.ctrlKey && evt.keyCode=="81") # h/ R2 h; s/ c( [( l e
{
2 e5 L) k N; m6 L CleanHideObj.on(0,1);
% r( W. D' t" U! S- [' ^0 a alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 K. d) s/ V9 f3 I @- d $ t) r; i0 Q$ Y6 ^& i' c7 r+ d
}
4 E! z8 G6 }% u N } ' D% s) B& b+ z
document.addEventListener('keydown', keys, false); 5 X- }5 ^' b( ?+ u; g; X% \
GM_registerMenuCommand ('Clean Hide',
/ Y* j% Y M- H' F- q& V! I. n9 ffunction(e){
- N3 Q; Y! i$ Y7 ]# r C/ lCleanHideObj.on(0,1)6 u+ g- V0 W& x* n) s4 F
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, u6 Z" H' h: W$ Z# ~1 H# G, [" ?) f9 m});0 X% ]( i. S2 |6 f J; l
|
评分
-
查看全部评分
|