|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ Z+ w f3 ?9 K( E) e X. K7 f' s) j3 B9 l
火狐插件,用猴子
: F# B* [6 K& [/ }
6 a( f% }# M8 ^; b% {var debug=false; " s4 X- j1 n% V! r1 x$ B3 n8 l
var CleanHideObj=new CleanHideClass();2 z, h% g( O7 T7 C5 ]
( t7 q8 Q+ Y+ F! i' h
function CleanHideClass()
. p+ r5 X" i# r r! W8 f{
. T: B8 H m% v" K, H
, X" t( l2 a" ~( o' B( } this.on=function(id,bMZ)
2 Z1 D/ f, N5 A; X7 B% _ {( \& g( I) Y& c+ ?
- A* a7 c% L1 p8 f, h0 f
if(id == 0)7 s1 r5 O0 `. e& I, t' B
{, {: T2 c. b/ Q/ h0 d- l5 |# D
var page=/* document.getElementById("content").contentDocument */document; 6 S4 Q% W" P- X8 [
this.RemoveHide(page,"span");/ I* Y( P+ f9 L1 z5 y3 A
this.RemoveHide(page,"font");/ W8 V2 x j7 N' P& {, F
this.RemoveHide(page,"div");4 v6 J- ^0 Q8 m. R* m* k' A! Y
this.RemoveHide(page,"p");
% u8 x+ M- P4 m) C! H$ A3 a' j & h! p7 @: @. k" O( ~+ M, R
}2 U3 V% @( A& i/ Q4 A* V$ B
5 d) x* O3 p. ]3 x4 P* f7 |& a1 K" z }
0 E0 z4 i& W! s/ ? this.getobjstyle=function(node,prop)" o, j5 ?3 f V' \
{
) v% T- o4 h% ]0 }6 K! N try( }' B# f2 K+ k. F- E0 O* ]" `
{
% W8 I! ]/ E5 x8 Z& k% J9 q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" c& T1 L; i& L4 c! T" P" s
}
, n6 Z) E8 x, R7 {" ~/ J- ~ catch(e)# ~ {2 _; K3 z1 I( a
{
9 y1 c1 e$ b& h0 }. R" A if(debug)
G4 M" p* E5 h' y$ W) E/ H {$ Q* @" W6 p" I$ Q v, o$ I0 x2 i
alert(e.message);
! P7 w5 i: A0 J }
- t+ @5 W: r- f 3 \& c8 O; I2 j# G! g' R5 w
return "200";/ d; f+ d" B( X2 X4 G" c
}
4 M' K! `: D7 g! \; d/ B3 L }/ T; O3 L: k# f" F0 j7 V4 }8 M
3 r/ i. I% Y. m. ^& J6 ~ this.RemoveHide=function(page,objname)
# X& z7 p* J# _ H6 ? {0 P2 B. o8 E5 c3 m/ Z6 _- C- R
try; j# d* z' e0 D2 q! [( b
{) ~% M Y( Z1 H4 C- `& v
var minValue=15;
% b$ r0 c# f5 @/ u. E1 g var objs=page.getElementsByTagName(objname); 1 M x6 y$ \ A7 L* Z) X) w2 W; u3 Q
- ]* x; S' s$ o2 K' f7 x% T
if(objs.length == 0)
' X: {& g# x% t7 B {
+ N# ` @5 L" U% b. @ if(debug)
" \: `; {4 E5 C, z( b8 q1 W/ f( \, M8 ] {- |; k0 g" r/ h
alert("no object found!:"+objname);9 g! F6 c7 E1 U5 v7 ^* r
}
( ~8 ?1 S j! H, B5 n/ K! N }
# x! d# ?9 D J! m' D# ^ else, v( U0 S5 [% c/ ?# N
{- a" M% a( @6 L
6 y% r* f4 P4 b: p6 b) V) g$ J for(var i=objs.length-1;i>=0;i--)
0 G: O8 `4 M" Q$ t# K5 f: h {
/ e( ]2 I) o3 w" T; l var node=objs.item(i);
% V: u. y4 Y: G1 n3 Y U 0 N. r3 ^) J9 E
+ {5 \" a- B* f: q9 P
if(this.getobjstyle(node,"display") == "none" ||/ L; ` e2 S4 k$ C1 B/ w
this.getobjstyle(node,"visibility") =="hidden" ||3 J3 x3 J. v3 v& S9 D
parseInt(this.getobjstyle(node,"font-size")) == 0)
' `& H# g% G6 H% P2 a" H; I! i {
V2 W) V) V \0 d. v if(debug)
" S9 W; B" b2 p/ } {
# }/ j& A8 H) H' o8 K alert("remove invisiable!");
* r3 V' e3 ]# R: A- o/ w }# |; \* s- g, ] B) w$ Q; ^; o* c6 i
node.parentNode.removeChild(node);) Z5 V3 i) C$ u. _2 O4 A! q
4 g! m- R; e" p5 V- p$ b v7 N
}
+ v# K" \& @2 L7 @/ ^ else " b/ y& _6 x7 S9 ?& `: A
{3 Y" ?6 o1 R' c8 J9 O) J
if(node.parentNode) ! |- l, U( T% e2 P( b; |
{
$ Q( n7 F$ g9 p0 u5 r' J var orgNode=node;
# O: }: U9 t. T& M var orgColor=this.getobjstyle(orgNode,"color")+ g( x! V+ n, p% E7 h1 N
var orgRGB=getRGB(orgColor);
; l/ r6 p. t* b% L7 B
C I" C" B4 ] var parentNode=node.parentNode4 ~ l, ~. N) {. F
var parentBgColor=this.getobjstyle(parentNode,"background-color");% n9 m* G' Z. }9 L7 E* r) d
7 c- k5 a2 a3 H8 A5 w, U; Z9 j
var isLast=false;
7 [! ~' @6 `( a: H& X/ Z $ q# J( a- Y v: u+ g8 O
while(parentBgColor == "transparent")
( S; b; _- h5 S' i& `8 D8 |& D8 t3 Q {8 |4 Z* H" M r- q' z+ ^
* S0 Q* r: _; s/ X
0 ^( Y- y. \2 D, N4 n% X
if(parentNode.parentNode == null)
9 ]) Y+ g: U$ D: d" e( V; S$ i {
' E6 _- a3 h: l isLast=true;; C5 K9 V* b# L- l5 V% R
break;6 ~* m: o$ H- Y/ B& p9 t7 [
} z; b* b, U+ k* a& y
parentNode=parentNode.parentNode;
7 c6 N0 v* N; C' | parentBgColor=this.getobjstyle(parentNode,"background-color");' i; M6 P& v- I% b$ T5 _- A
' h5 d/ G8 S9 K if(parentBgColor != "transparent")
' c' l# V/ l' ^8 _6 m, U7 ?* Y {
. z* h5 N, g( A; z& ~& l; M break;
: b' ^4 L' D7 C( { }
. n/ {/ T- T% z" Q }
6 K5 g% ~; b# H if(isLast)
: {" ~ ]4 X& B' s {5 c% A2 Q9 f0 e4 Y6 @! V
if(debug)" o8 J2 k0 e9 d( g2 I4 d2 _ ^
{( l* `" O1 x: S7 N! c+ o
alert("last!!");6 ]$ {# {) x- d$ P1 t
}+ x3 j* \1 g5 v2 q7 @# w9 Z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))3 Q6 i7 s. i: `% m
{7 |; e" {) ?& P% H. P
orgNode.parentNode.removeChild(orgNode);
! P4 ^$ c8 V3 p1 ?8 ^' M! P }
+ `0 i& {" Q" @6 e }
/ v4 u+ p" T' G, v* A% j else
1 e/ `" D9 D6 y' v/ d2 e {
/ l, C. U4 y$ e# @& Q# `+ r if(debug)
( A4 K5 B' C% r* m1 v; s {$ W; b; `- m) G' j0 ]7 g* Y
alert("compare color and parent bgcolor!");2 F; b l) c- |
}
# X9 e4 g4 N/ L6 h parentBgRGB=getRGB(parentBgColor);/ O4 ]$ r" t1 ^ \4 e7 \9 ^
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ h8 ]/ n6 M8 g/ {' N8 [
{- C) p' g$ `+ P! W+ d
orgNode.parentNode.removeChild(orgNode);
" y- `1 \) F' p' N& [+ w6 _( f }0 {2 A6 w* Q' j+ L: ^; e
}
# i/ `' o$ ~2 c+ O: Q }+ E- I* e8 d; A: D
}$ S& U4 @. b0 ]9 D) {
}
7 {2 L4 X% j$ j }. {2 F) ^4 E! E7 F
* t3 U V3 [, d6 b1 _ . J! n, @. K0 w: E9 R
var itemFrames = page.getElementsByTagName("frame");
% e+ i* Q. Z4 _, F var itemiFrames = page.getElementsByTagName("iframe");( r0 P2 C# g+ `5 M% i; n/ s! I
. m2 D4 p- d1 L$ m q4 o
var frame, iframe;
, f5 I; B+ \" y$ n' U4 S if (itemFrames.length > 0)
! X6 e2 ^1 \, \: K' s( C9 D6 z {+ [) `: O2 k3 _* X) V: |) K
for (var i = 0 ; i< itemFrames.length ; i++) ) n. @- V2 V6 N, e5 f
{
, V' i H' g( |' a" [ frame = itemFrames.contentDocument;; {* B' Y2 S( n- E- z' w
this.RemoveHide(frame,objname);
1 k3 P* v0 t# X& O; V) V- c# a" F }
/ Z1 F6 C. W6 E0 y+ j }
) p: M D# p# j1 d if (itemiFrames.length > 0)# r2 J; @! v, ~) |7 e9 u' X
{5 [) f! D! ~) R! E6 l7 @
for (var i = 0 ; i < itemiFrames.length ; i++)
- w0 ^7 s* G$ [* a: J5 T {& Z8 R. q. H; M" R; q& ~
iframe = itemiFrames.contentDocument;
# }3 _$ W8 r" [" w8 F this.RemoveHide(iframe,objname); " A) o+ d5 H* {
}
9 E! K8 F8 ~' v1 n, ^# ] }3 R$ [1 W) {2 d; m
}
9 t m6 h) c l' L( e, \! G catch(e)4 K6 U# L4 K0 Z9 B/ Y* h
{1 A+ B% K- m: \5 h' q
if(debug)
. x; U0 |. Q9 S/ ~( S6 f) D {
, ?) c3 O" s% \7 m- F" K alert(e.message);3 J2 X8 E- i4 e3 {5 z, ~2 ]' j
}, f @3 h; g8 K( R) }8 p6 y
}" M5 N& j/ U! ^$ O6 @) c7 ~1 _1 u1 _
}
; F: D4 ~& ~5 ^: ?- Y 2 w$ D8 A2 R w
}0 @. G. v: D0 e& W$ D: T, T
: ~: q$ Q$ O2 v0 Pfunction getRGB(colorString)
) d8 I3 ^4 w* e8 i, K{9 o3 W/ m3 {- |6 q9 |+ z) ?+ }
var RGB = new Array;' ~' c( S1 i2 s% L
var tempSting=colorString.substring(4,colorString.length-1);6 u+ ]' @: M, b8 I! J
var tempArray=tempSting.split(",");* d* `! e( X2 b$ I- K' n' p# p
4 I! G& B1 F+ w( y q( G/ Q1 ^
RGB[0]=parseInt(tempArray[0]);
' U; ] F) _6 t1 u/ ~: g0 w5 N! M RGB[1]=parseInt(tempArray[1]);
: F9 C) `5 A/ I$ d6 g RGB[2]=parseInt(tempArray[2]);
1 y: E8 [0 U" w, ~
; p! K) X: q# ` return RGB;$ h8 U0 l# r% w( E+ n
}
8 \. P y3 V6 ]0 hfunction keys(evt)
$ N4 [2 S( ]/ f6 F8 b& x# F {
1 m& {( Q2 s! h/ E: x if(evt.ctrlKey && evt.keyCode=="81")
+ R) Z5 A$ A7 e7 ^6 N. F/ j { 5 ~9 u4 u: @' }+ U( Q; J% P- Q+ ]% c
CleanHideObj.on(0,1);$ N4 R* B5 S( | @7 E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 F- O, w3 O& f, f9 h * L: L! `2 W1 D7 L% p9 o0 n
}
0 S( X- ^+ x8 R- X, x$ | } $ k& H' B0 O# g( l2 y$ I
document.addEventListener('keydown', keys, false); ' a8 q* O) J' L
GM_registerMenuCommand ('Clean Hide',
; x) ^4 r. R% v6 ~function(e){
' Q! p. q" m& E( _1 TCleanHideObj.on(0,1)
' M l+ J* W" salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& V/ _9 z7 K8 t& c( `6 `4 x x
});
; B7 H( u: X) T6 s3 F1 d |
评分
-
查看全部评分
|