|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' z! u" j- c/ ]3 \& Z
4 D; Y4 v8 @4 o% w4 S2 ^火狐插件,用猴子 z+ ]! z2 x: Y; M
$ i/ e" X. z. p* S; qvar debug=false;
1 w+ ]% `2 h; @4 f7 H) Avar CleanHideObj=new CleanHideClass();( a) a" }8 \6 j9 c ?6 |% r1 r
: g# P+ y5 K( d' d( Q) ]* \function CleanHideClass() 2 U9 o( x3 U) o3 M+ [
{ - ^: r. X |9 Q2 u% g
8 D9 h' k' T/ Z1 b2 _: C! X this.on=function(id,bMZ), m/ P) j# k' M8 K3 R$ F- A& p
{9 `0 c: W" h. o. j! Z; l; v# l
9 [( _5 `9 W+ f# L" _
if(id == 0)
j' f" g. l1 I {
" v$ ?- N9 W3 S5 [ var page=/* document.getElementById("content").contentDocument */document;
+ V: W$ f) o7 o1 }4 A* K this.RemoveHide(page,"span");# _ h0 R; L" p: y, X/ D
this.RemoveHide(page,"font");
1 K4 c" }! T% b+ V3 S# ^3 }" H% V this.RemoveHide(page,"div");4 c2 a7 L- i3 F: U h$ G( h# u
this.RemoveHide(page,"p");; S1 s% D5 p+ C, {9 N; i
$ J8 \: T4 p1 u) }+ u
}
) X- Y: o) }- n, P d% J3 x$ b + g1 a, U6 n; x7 d$ v
}
0 C3 \# J8 {+ |6 ~' q2 l$ R; P7 _( r% U( S this.getobjstyle=function(node,prop)
7 v" M3 A- I+ S: P {! i% w$ r7 _) Y0 \, _/ s+ N) M; E! s
try0 m4 s( h' y7 L2 X* a0 F
{" J2 l8 x- _: g8 d4 {
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 i1 B" A( {+ J* R }5 m% I H3 X8 |7 a/ b
catch(e), p& q: h5 p. L3 L$ f
{
& a# r0 G5 o0 P/ ?' {4 t if(debug)
, T+ U8 e8 a9 b* ?$ j {
" {9 g; ~2 K* u m; u alert(e.message);
8 K; g+ L, u; c l8 d; K }
( D, B6 P/ e5 q; g6 L; g
, f( E( f9 p; L4 a6 D return "200";
2 U( U' |6 f, c5 g, H- B2 C } V5 t( K% i! d5 k
}
9 L0 z* t0 }) D$ J
, s6 Q, D1 y. ~* p/ U this.RemoveHide=function(page,objname)* @1 s; a" s f( Y" W- R& V' {
{
: t7 n3 ]: X F1 A- J) Y# O/ { try7 M" b- b5 j W4 e
{+ A' a# x4 l9 J+ J! N+ R$ \
var minValue=15;, A5 Y1 b" h. d) g( l% E5 B
var objs=page.getElementsByTagName(objname);
& T" _) H% v/ }/ t# \- h" m% G* V% K# d' i
if(objs.length == 0) 8 i1 {! r; |- S* T) N6 t, U X1 ?
{
( i" V4 L7 f9 ]5 k" U I6 @! _ if(debug)
0 D' U4 \% ^8 c9 [- T7 k {
& d7 y; t: l* z! R2 U" u# h alert("no object found!:"+objname);
) v9 i+ @; X$ f; c6 w% f' S, D: ~ }7 _8 V# e5 N# h3 v& D
}
- m; V/ _2 d2 y' V1 E7 m0 ] else
9 r" _9 W" z- i/ g2 P& P {
0 ?! a' {" W) x G$ K+ B+ U9 U7 V " e; U$ p9 {; ^" ~% O: f2 R
for(var i=objs.length-1;i>=0;i--)
- R2 _4 Y2 E7 z7 N: X {
4 J. c& s: U- z) L! t/ V var node=objs.item(i); , P8 Y5 C, \7 \; w# ] k0 Z! y: E6 J
3 G( K) r3 }1 K3 _% R5 k1 ] 8 } i/ X& W6 X+ R& ^2 ^, h
if(this.getobjstyle(node,"display") == "none" ||
7 p( } q; p p# l+ x5 X% Z this.getobjstyle(node,"visibility") =="hidden" ||
, |( U/ ]1 m) n parseInt(this.getobjstyle(node,"font-size")) == 0)
( U3 g( [3 {" o5 P. a+ [8 Y {
7 R# |/ M1 g% V% A) Q% [ if(debug)/ w6 O. m7 m4 e
{
/ {! `6 }& m- Q @3 L4 Z0 ~; j alert("remove invisiable!");- Z- M" r) E$ Q' r& e
}
( T( l, p5 K% |! D' L node.parentNode.removeChild(node);% M! ^ N& ]0 l- _/ h
! N! K* A6 ^# l3 [
} q4 }8 J, p. p0 }7 M0 E1 ~
else ' H8 m+ x$ j+ @$ D$ B3 V
{
9 i2 P- ]* c/ u ?4 T+ @2 ? if(node.parentNode)
) z! E' V. s, I l5 z6 V Q3 o {
+ X. [7 b; {8 u2 o$ ~- o+ L var orgNode=node;! ^+ C5 W2 y! @& W" w% @2 G& O
var orgColor=this.getobjstyle(orgNode,"color")
: }; T* S* r; A2 u! C, ~5 F var orgRGB=getRGB(orgColor); 7 O" i: G: a" [
- t* {% e" [! I6 _( O6 V
var parentNode=node.parentNode0 k8 M2 }. o; y. ]- ]
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ R* r' q0 t: i, C6 Z; G! | 1 H$ O% A2 Y z$ u5 h9 p C6 m
var isLast=false;
2 ?+ a& }& F; L% c" Z5 J! R
; J: _6 \9 Y$ N' {1 q: r" z+ n: P while(parentBgColor == "transparent")
( f1 B3 R8 [* X% T5 [: [% }" i {
% R) z, v+ c x6 k4 E/ `$ X ) v; ]) N" z/ w0 b
, z1 }1 U& d6 k: p4 a8 g
if(parentNode.parentNode == null)
6 O6 k+ F/ C( q' V {
" q$ e. y8 M( Y' x isLast=true;
% Q2 ^ c" C" D) H2 c& ? break;! }) ~$ ^$ @5 F& k+ a3 T3 J+ A
}
3 ~& e+ D2 G, F# x' a0 C; k parentNode=parentNode.parentNode;$ B- M: _" ~6 s$ I7 `# S
parentBgColor=this.getobjstyle(parentNode,"background-color");
4 r! _0 f' C* | B9 @) j& x5 |$ K- R, f* H/ j9 h
if(parentBgColor != "transparent") 3 n. M5 ]% Y0 f+ b& ]
{
7 e9 v0 K' e3 h6 Y1 N( h4 ~4 j! i break;
) R9 S( h! M: O1 a9 o4 O }6 w, o# f9 ?4 \2 G1 H9 G
}; z0 ]8 J: w* H( y' U4 V
if(isLast) Z& m, L* H0 w
{
2 y$ U& I( \$ I if(debug)) ?7 U9 R9 g: t' b+ P2 C1 j
{
7 B, h$ z% F7 I; @! U) W alert("last!!");9 [! b$ k/ \8 M% t$ {- c
}( g: q2 p; a" k* |' x
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 @: c5 [+ ~; Q4 x& ^! a$ S% n {5 s8 W" B4 x2 ~6 P# U8 d/ e, ?
orgNode.parentNode.removeChild(orgNode);
; k5 B4 ^+ S" K, J4 ~- S }
. d9 R1 E7 B; u3 k }
4 G( p/ m. o# B else, O" J. C2 [3 [' `1 d' ?# w4 k
{# _% m, B/ \' J% t' @- ?
if(debug)9 V6 Q1 D$ V8 D$ \6 ^5 O2 A
{
; z3 G V, l: H* g( l alert("compare color and parent bgcolor!");
2 i p+ T9 S& ?7 j4 ? }
0 f( I9 t- T& A5 a parentBgRGB=getRGB(parentBgColor);! o8 h. V' G4 V6 N* C1 Q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 r6 U# s# E# \
{
. }' b' E z" B5 D orgNode.parentNode.removeChild(orgNode); 3 O$ f9 l+ K6 g$ S0 v- c
}
7 F2 b8 `0 Z; r; \1 S }
& d4 M2 p8 e) H) U }
' B: U2 B: S- F: I/ {* G5 @4 [ }# }" z% m$ b$ m4 f: v, e
}
^' }, G+ j, h' a }2 }. z' p$ d; [
4 N: O- P. o8 s* ?5 U
7 W7 R7 A$ y- S2 L/ [3 N1 {$ D( A5 i var itemFrames = page.getElementsByTagName("frame");* u1 x2 r' u+ N% O$ f3 k) K7 x) i
var itemiFrames = page.getElementsByTagName("iframe");
0 s% t5 t& \3 K/ g- B1 T
! Z& O8 v7 ^! x! }8 z var frame, iframe;
7 R0 a& l0 e5 f- A, d" Z if (itemFrames.length > 0)
& d6 I/ X' r% Y5 z) M {9 @% ]8 ?% I' Q R7 X, F
for (var i = 0 ; i< itemFrames.length ; i++)
+ F" c) J* X/ z6 J+ }7 M( c8 P6 D {
4 }( T1 e7 _ f L frame = itemFrames.contentDocument;
8 C4 l3 R/ P3 I" v- k8 v this.RemoveHide(frame,objname); - N F% v: |8 f: k, q7 f8 ?% o
}% p2 g: D* G1 ] |4 C. [& o! q% Z
}( g! F& A) q* A3 t4 Q9 t
if (itemiFrames.length > 0)2 O8 K: N P8 W; @- l* ]. c
{9 b* Z9 z/ J$ y/ g/ y* Y5 Y1 u( m8 {4 G
for (var i = 0 ; i < itemiFrames.length ; i++)
4 T# G+ } A4 j, v {
) _4 j6 L: N$ s2 p k3 b iframe = itemiFrames.contentDocument;% G# d h1 |, r( T/ E
this.RemoveHide(iframe,objname);
8 j. q/ E9 Y; z* {! C* P; g- O& N }) {( c2 _7 h" c
}/ @- P& @7 E% F6 _4 C
}0 y# D6 N( {3 a3 A, I4 p
catch(e)
4 [3 Z P5 v" {& O& U( F% ~ {; p% [ {- P$ n5 T% i2 S3 d( {
if(debug), Q# z' @) v, d8 E8 W4 z
{
5 ~( o: M) j9 j" h4 o2 D7 L alert(e.message);
8 z! Z% T/ Q8 l, P# v) ~ }
1 ?: p, i+ u( R( o; H" W3 { }+ t' o% R8 n. w
}
~1 B+ L4 b5 W3 {8 q7 ? 4 K2 t. K5 r+ z8 a' h, {4 b) I
}
" Q7 V" @9 l9 T) {% e9 C
$ T/ y: l# S m9 ]: o& Wfunction getRGB(colorString)
~* | n( d4 M{4 |/ _+ c; z' ]" ^ D$ V$ X9 a
var RGB = new Array;) @# y: `; p: T8 j
var tempSting=colorString.substring(4,colorString.length-1);
) r' V* S+ z" A& U7 {9 Q3 s4 ` ^$ H var tempArray=tempSting.split(",");% P" J1 f9 y6 H4 I- ?% v& D
% h$ }' B$ N: K4 E% b2 M Z* \+ a RGB[0]=parseInt(tempArray[0]);; Y4 p/ c# {, q4 L: i$ t
RGB[1]=parseInt(tempArray[1]);+ _7 h: d) m1 `3 c
RGB[2]=parseInt(tempArray[2]);
% v& s% Q3 ~3 P' y9 x5 G
+ ~# W3 i. g" f return RGB;
: M- T$ W1 H* |}1 P4 b4 A4 y* }7 |! [- T
function keys(evt)
6 o+ D3 T& G7 M* K" E# \/ A* V# m4 ^ { 7 \& _" |# T7 `8 {; |! z, S, \
if(evt.ctrlKey && evt.keyCode=="81")
* Z) g( Y' J0 u3 a0 x8 P { & T& U0 ?+ ~3 \4 o$ F$ t
CleanHideObj.on(0,1);
' G- `# a0 E* z/ C2 B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: J" U: `9 m* H; u# F& r
% i* `- F1 U2 S }
; {0 o5 U/ S# Y+ K* c1 | } ! r9 N R# w3 ]+ h4 D
document.addEventListener('keydown', keys, false); " F/ Y" m. y) u
GM_registerMenuCommand ('Clean Hide',
# i$ `# F8 h! A% [6 B' a1 z* Yfunction(e){3 m5 B7 m1 h& z
CleanHideObj.on(0,1)+ b2 u0 g* M7 u' E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, z9 X8 X7 ^. [% C' C});% r) i% U2 h, r }
|
评分
-
查看全部评分
|