|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; w Y% H5 T Y6 S( }5 E; L5 g
; F4 g- \: b! r9 L. A8 b火狐插件,用猴子' O6 Q) b/ |! v a9 y
5 F6 z+ f/ f2 fvar debug=false; ( E7 T3 ~8 T' g* F, ^: ?9 S
var CleanHideObj=new CleanHideClass();
6 ]- B4 Y4 t6 u8 i: L
4 Y% C* o8 i/ x9 Y; z0 o- d1 zfunction CleanHideClass()
. r+ [, N: E9 m& _. }+ g4 e* f{ 2 l/ Z- x3 |0 u4 c2 ?: Z
! M; j4 v! W' h0 L
this.on=function(id,bMZ)! a& ~1 V* j8 V9 B7 B4 ~
{
+ }/ E( A @: _% b) \: d
# B* [! f4 k. {4 Z" H4 j9 N( W! f4 H if(id == 0)
. T& a7 V% S: j/ ?" `, q {
+ I" N6 v" P4 P! Y: v. j1 Z3 ?0 q var page=/* document.getElementById("content").contentDocument */document; 3 m: U, |- R1 K1 f& |1 ?
this.RemoveHide(page,"span");+ `/ P; G! Y9 X3 t; Q; O7 S
this.RemoveHide(page,"font");2 [+ [. p9 Q8 a# s/ V+ g+ \; A
this.RemoveHide(page,"div");3 F% x1 \/ B- M$ Q
this.RemoveHide(page,"p");1 r- K( ~1 s, ~ h+ [5 l- A
8 g. | [ @# W; m
}
+ q1 ^$ w/ k, R( x1 |+ Z( U9 v
8 `. C% E' f7 f" D; ], g }
( R8 U- Q; E. m) I8 Z/ _; ] this.getobjstyle=function(node,prop)
" w5 ^! a& _5 \* B+ U {
* V# @( k9 l, U! S8 U try+ y, u: [6 h. X1 ]* K. Y$ a
{
3 _) ~$ m/ I$ M" K% G return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: n6 b& {6 ~" j8 U3 J" E }; A0 e+ `0 M9 s C1 S) c( W: i
catch(e), F4 @5 a6 G! x2 ?$ }
{
: z3 B4 [/ r$ q" g: `2 J, _% X5 j$ w if(debug)+ R) B8 g8 c$ I8 G3 s @
{% y" K, E1 r0 o; d
alert(e.message);' m. S5 c! v8 y4 z7 S" Q) A1 _
}' n7 J7 N. T% n8 \
) A B( e3 x+ O* I; B$ Q
return "200";6 x! a4 z( A8 ~( g* i
}
& J9 D7 g1 s, q5 p6 y( e E0 ]5 j( N }9 g# c+ K/ b6 k6 f z: Q V% e
* B3 n$ \1 x; |7 \) L this.RemoveHide=function(page,objname)& k( `# H% ?4 |7 x/ f" C$ d+ `- s
{
0 ]$ O; N0 C7 Y# C try
. b6 w7 _* M' F* ~ {
" y1 X4 P) m* f var minValue=15;- T8 U7 D, A: Y
var objs=page.getElementsByTagName(objname);
& e; H: t' v+ F+ h! V( D
2 _$ P3 X' t/ j+ G if(objs.length == 0)
! _5 y4 D0 x: _8 I) O1 B {, S/ p; \; Q" U0 G5 X$ K% d. j
if(debug)
8 X! [/ |( S8 \* v {
& ` E9 S) J$ K ~ alert("no object found!:"+objname);
& @( d& G b% C+ \% Q8 ~& c8 w }+ j% E$ x) d! o
}
2 s) L1 h1 t9 `' ^8 Z0 x; f& F5 @ else
- } V$ F9 }1 r" I, U# P {# Z J+ R- E d- H$ w- B; y
7 d* ~7 N# J; E- n' h9 F6 l for(var i=objs.length-1;i>=0;i--)
# I4 o- w/ ~ }/ s* J/ Z) K, Q {
) O# Y) x- Z: t- p. y; u4 o- r var node=objs.item(i);
$ B& {# i, t5 k . V6 _- s- F/ O' q5 w) s
- M& [) v2 I$ j if(this.getobjstyle(node,"display") == "none" ||( t* f! H- j. A7 z& K% K
this.getobjstyle(node,"visibility") =="hidden" ||" G5 l9 I- p8 Z/ g: m1 u7 K
parseInt(this.getobjstyle(node,"font-size")) == 0)
( V/ e; O/ O4 w* ~, _3 J {. s* t, h9 U' | I# M7 D! D
if(debug)6 }" B% M+ f! E0 e4 }
{
& t# H* ?* G+ t% P: K alert("remove invisiable!");
! d7 W% A0 E- R& o }
0 U0 [8 S) D4 b5 Y0 n node.parentNode.removeChild(node);
$ J V% s+ X6 \( i7 V' Z + f% L: b/ {* u- K' u7 J% n
}! J) J! @+ _" b1 e% k. G: f9 e
else
" H. u7 C: c! x0 ^$ J% ^ {
0 X! G, R* O5 `5 x) } if(node.parentNode) 2 A" G9 v u9 k2 Y+ H) @
{2 ~" y( _' k1 ]8 {8 R8 w
var orgNode=node;/ ~- Z0 K7 z: }: L+ s: Z
var orgColor=this.getobjstyle(orgNode,"color")
5 X$ F+ l+ b! w- ]; \) i* a var orgRGB=getRGB(orgColor);
( I4 F& q- Y: W4 k5 U) Y3 S/ P, U4 E ' Q, t+ \% i% r: u/ u& X
var parentNode=node.parentNode
+ D1 T4 M/ k2 y' `$ j5 W/ w var parentBgColor=this.getobjstyle(parentNode,"background-color");+ |$ v6 U2 R( U5 N
! u5 d9 O+ x/ \2 @7 h
var isLast=false;
: Q6 S" J: t# I6 B* l% I * S. }2 b' v( B* o) L
while(parentBgColor == "transparent") 8 g- W4 y( p8 q$ T0 p! Z
{; p) p/ ~* C& R8 h3 F1 A' C
% U# I; ? H: u! d. g
) _8 J3 D3 K0 n/ P; g if(parentNode.parentNode == null)/ z9 N0 N4 f- t' T$ g1 `/ L
{0 R$ i# d3 a& w' `( |
isLast=true;
/ O# c2 e6 Z0 l8 ~& _1 ^8 W break;
: @2 ?5 O) H/ w+ { }% M0 ~. l2 z- _! j) w
parentNode=parentNode.parentNode;4 x) j& ~0 G h
parentBgColor=this.getobjstyle(parentNode,"background-color");5 n: M" p, x. T, [) U/ Z- N
" d, e! C! c3 e" t% u0 L1 a6 a if(parentBgColor != "transparent") ' j/ K1 x6 S" f/ K3 ~& a9 p, y
{
" ~' N0 L. N" I2 t: d, U% k break;
6 t/ ^6 H9 n7 f/ l6 D$ j }
' J( G% s# `' i; B5 w }9 k/ [* j. V! ]- F5 s
if(isLast) * O7 }8 N2 s: ?0 p
{
% @5 o0 J+ m% ^& Z% V Q: V if(debug)& o. \. j8 _ l; ]& t0 D% {. x; [$ N
{% m% S( I0 _* O, u7 M
alert("last!!");+ y& E5 V* T, a! g2 o' y! \
}
4 b6 ?- `9 f) A k3 Z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) |( S9 J3 \% r5 r8 f8 v {' q% k5 ^( g! S. Q' Z* _
orgNode.parentNode.removeChild(orgNode);
9 ~% n$ ]0 C: h( z$ h% m, ^ }4 m0 X; t8 j, Q& c
}' t( h+ i7 w' O
else
0 u7 ~8 L( z& z7 a1 D6 T {
: y1 D' R9 X6 F( c5 Q5 T1 ^+ C' ? if(debug)
; T! s N0 w: u9 `; X {
; ]8 M: ^8 O, c5 k0 f2 d alert("compare color and parent bgcolor!");
1 J; e7 m( P+ K& B- j; L }( x- m% V, r+ o& w3 p
parentBgRGB=getRGB(parentBgColor);" [7 z8 W2 |* H D/ X
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 f% F* x2 c0 ]+ z' C* q v {2 R }* m+ A5 ^# \
orgNode.parentNode.removeChild(orgNode); $ B5 J' {/ Z4 C, X
}6 R: n. ]+ _ X2 l
}
: t* Y! U! L- E7 T# w9 R }& C- j$ ]8 N& t5 A4 F
}
' ?) X" Q( Y% n3 T. D- @6 |6 ~ }5 o8 W! C: w$ y7 ?
}
- O& ~4 t" s' g3 S6 }) E. p& V. S; p% p
/ @. ?: d9 x3 V8 Y T3 S
0 y2 Y3 @9 ~5 |4 y# ^7 q& x var itemFrames = page.getElementsByTagName("frame");
: n1 j3 T9 Q4 j% { var itemiFrames = page.getElementsByTagName("iframe");
; p8 A: d4 ]! \, b' I0 I! g# z
5 w( x; N0 }% ]# c) V8 o var frame, iframe;8 i! {/ H* H0 Q
if (itemFrames.length > 0)% \/ y. e- v# _. Y E# G! c
{
: U1 ^0 } |* c for (var i = 0 ; i< itemFrames.length ; i++) " @# R- d3 L9 _" Q) m" n5 z6 x
{
3 f6 W: g2 W0 E8 r" E* ] frame = itemFrames.contentDocument;* Y7 r% ~/ g: k) \
this.RemoveHide(frame,objname); t- C! r& G1 ?% H
}# N. k- U( d& {. |. j$ |% V* _8 ?
}
. A# i, B& t. O* ^/ V if (itemiFrames.length > 0)
+ k, F. Z% n+ x) N {
! ^7 y$ A, Z' o/ H for (var i = 0 ; i < itemiFrames.length ; i++) 7 q7 \1 W; ?8 J% ~, J2 s
{
4 @% v* S M( I2 {- l iframe = itemiFrames.contentDocument;+ u9 o: Y; B* T, _1 \
this.RemoveHide(iframe,objname); # T/ E9 C- s7 T' u0 X( G& W& D
}
) @: O: C) `5 v }
* z, b1 \3 P! c# o* t4 B1 m/ V: V3 U }
1 e' B `( h, O catch(e)
. @: a$ N! j& d. x! b7 _ {- g; B% L) v' ^
if(debug)
- F2 g( P& p' j7 N6 Z# N7 C {
: ]: T: I4 t5 b9 N- |& U alert(e.message);/ T ^6 _" i. L9 G1 X/ @
}& W- b+ M5 n) a3 s2 P0 N
}4 ~& n' Q$ C2 U2 b4 [
}, I9 o" y; E1 |% ]' v
& z5 `1 G: k, J/ D% r}4 o8 V" c. s3 }8 f8 T
" ?. |) A" q! ~, q& j# ffunction getRGB(colorString); ?) t* u4 o0 y. G6 n! k
{' ^$ V1 _+ w, @- q
var RGB = new Array;+ j% [& G9 O2 j4 k
var tempSting=colorString.substring(4,colorString.length-1);8 Y! C1 x0 @& |0 n
var tempArray=tempSting.split(",");0 r! y% d0 r: j, ^
. U$ [5 [' I6 V) v
RGB[0]=parseInt(tempArray[0]);" P4 ?+ Y" r" K9 z. R9 k& S6 o7 [
RGB[1]=parseInt(tempArray[1]);
# h/ F" L: N& M8 h RGB[2]=parseInt(tempArray[2]);
* q0 V2 y; w$ F
( x7 _! M3 J6 Z' u$ r return RGB;* U$ X, d6 L B! ?2 l3 [
}
6 m7 l/ |1 V$ T& o( i/ ]function keys(evt)
: ~3 o% q9 i. P4 R8 [' p { 5 V, W8 z- ]5 n2 K1 K, e* G4 f
if(evt.ctrlKey && evt.keyCode=="81") * Z, ^8 |1 I' d
{
7 f& i# v) Q/ F9 U9 d$ k CleanHideObj.on(0,1);
, L4 s8 ?- B) W9 _0 k- y+ q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# k1 }/ G9 x9 _, _4 Y" g 3 @- F& n" N) q5 S- r4 b( @
}
4 N% W6 P9 y8 g0 h# W% T- x } 4 f4 _5 J' _8 E8 B1 B# `
document.addEventListener('keydown', keys, false); + { q, q4 f2 h) V2 n* C
GM_registerMenuCommand ('Clean Hide',2 x1 A# q3 G, T" y$ U0 `! z- a) @
function(e){
& I9 |/ [& q# F" n B$ H" g6 [- NCleanHideObj.on(0,1)
3 _8 j* b, d, Y+ t7 K/ H( valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 h2 c2 h% z: ^. \2 t8 ?
});
6 f1 ?, ~" i. r+ K |
评分
-
查看全部评分
|