|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
# j0 [: l: j# q* h0 E
( \2 X5 G; D: e6 \4 ^火狐插件,用猴子3 R8 M s- [! s( U* U) W
% @1 o. a# S+ J/ C+ u9 Q4 [# l8 H) nvar debug=false;
% T5 z# m( P. k: xvar CleanHideObj=new CleanHideClass();0 G# e; Z2 P W4 R# t& f
$ J" o J7 f% R9 S: _4 yfunction CleanHideClass()
+ }' l7 l6 {' H* Q$ g' }{
' E3 J# ~8 L! c4 A
3 G9 D3 L( x, o2 @# K4 X& S this.on=function(id,bMZ)
% B/ A' t/ u4 d6 U+ a1 h {
; s- C$ |9 j, b: n# ? ' p" O4 H* K+ _5 X' `- T0 w1 T
if(id == 0)
" A$ v2 `, K- Z {* ^; a( J2 t! ~
var page=/* document.getElementById("content").contentDocument */document;
+ u: z( f1 M8 o/ d7 R# `+ `- E this.RemoveHide(page,"span");
+ z* D0 t/ F; Y5 d4 Z this.RemoveHide(page,"font");
0 r- }) j% h! D this.RemoveHide(page,"div");
) \& M* R# v2 j# X& M. z. ^ this.RemoveHide(page,"p");
0 u. y, [: K* x+ F' u - G7 L1 K' _$ ?
}
( n' y& g1 N. W2 x9 T. O
/ R) p, ?$ n- i7 p2 z6 R }
4 N! ~1 X1 k7 u. z4 u. F& b$ _ this.getobjstyle=function(node,prop)9 a8 z2 A% Q2 ?, t. z5 Y
{
. l' i& b+ Q5 S* P5 i2 j( W( {6 h$ H2 J try
% o- I: T$ s7 T' U1 a {
& j( r( K! I9 T return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
) T) {/ }* z4 |$ A# d }( Y+ u( r$ w1 i1 [5 T5 J
catch(e). X$ ^! {! N& g& x
{. q1 T$ @/ Y3 Q2 T j! R' |/ s
if(debug)
; J: c2 O1 D/ A, Q7 q {
2 d8 u% C3 X/ J+ d6 P! i alert(e.message); r! B1 B @1 Z5 e
}3 S+ I( P; W9 c: A
- z; i. L1 R% n" K2 G& q2 S5 Y, m
return "200";
; H$ N6 m4 z* C; u- b; f5 t }% D U( h+ y, m% v0 [
}
+ o' ?* S" m) g1 v: K3 [
" {: s1 @& f4 j9 [8 J- J- ] this.RemoveHide=function(page,objname)
. {% A6 W! W" f+ E" J! r8 ` {
- ~) u! G5 t: Z& \& p+ e7 F try, X/ i6 }6 S& z/ L0 O O
{
3 w. ?& b6 Q* v: ~. ?8 k4 x' N var minValue=15;, z' J- R+ x1 }7 C {3 L# T, L- s. M# l2 i
var objs=page.getElementsByTagName(objname); ' f3 Q8 k0 e2 x: k
' A( c3 E% E3 c( O O3 E if(objs.length == 0)
1 C, A/ m7 g: e2 n {! _1 r, a. h% ]' s6 e6 o
if(debug)2 ~/ Z6 h7 }$ @9 X3 M
{4 P. |5 G, f9 ~( Y
alert("no object found!:"+objname);$ g* _# A* w1 r' k9 F
}
* \9 F9 {5 e2 M5 d4 E7 x- q V, X }
8 n8 K% v ?' m else* E; {% J( F m1 c1 C
{
/ S" k5 f; k) q. ~$ I
, R8 [- T% }' I8 I7 x9 y for(var i=objs.length-1;i>=0;i--)
/ t; O( B1 S$ D$ {2 v3 E0 ] {
4 S, ]! |$ y8 |" c' w var node=objs.item(i); 6 R* G8 h, K; g( k
! L4 ?; C/ X6 S
; t( ]! ^. d8 q9 ?; X
if(this.getobjstyle(node,"display") == "none" ||1 y5 h6 b+ N. ]4 `- D8 J
this.getobjstyle(node,"visibility") =="hidden" ||
" ^! V; R2 ]2 c, Z+ m4 ?( m, h/ x parseInt(this.getobjstyle(node,"font-size")) == 0)
, G% n( M7 i2 [! r. f {
; p3 V: w. k% E9 l6 Z( X if(debug)
- A; d2 P$ e; D; j {
% O f0 T: X# {+ h$ V [ alert("remove invisiable!");$ w' p, [4 c9 d. l2 A: s4 B
}
9 i' m9 Z2 D8 e" X node.parentNode.removeChild(node);
5 p" {2 J1 x: T* S2 j; x/ |
/ U) h2 U1 ^6 d! A8 O3 o, n }; q/ i) c+ c# |( g5 [! \
else
/ v: K) u! H& w2 y {' R: x& ?! D" q0 @
if(node.parentNode)
* u/ ^/ w0 g% c {5 [4 E" P2 _7 @! z8 X! x3 n- o
var orgNode=node;* X1 D" a& e! y, ~" R
var orgColor=this.getobjstyle(orgNode,"color")
# s* q$ C4 U2 s/ N* b' [ var orgRGB=getRGB(orgColor);
! Q4 @7 f3 a$ A. K/ t2 x3 H" S; q ( d$ o# M* f9 E8 e2 F+ f
var parentNode=node.parentNode
, y6 Z2 y% M2 U7 c. L4 a- E var parentBgColor=this.getobjstyle(parentNode,"background-color");
! ^# m( b0 d1 Y1 H& e$ O
( A5 ?! G! L6 b) [9 m var isLast=false;
, K/ H+ W, q% s K1 M
) m X. L4 x6 | while(parentBgColor == "transparent")
. `* R/ ~- W' m9 I) F! {) W {( w% C4 c0 ?: l- Z
" r" a7 W( [0 D; ~0 [
; U. @ ? b- \# d if(parentNode.parentNode == null)0 T/ ]6 D4 j) Z4 f' D, w+ U8 G
{
( y, g! U5 K4 j+ Z3 A isLast=true; h p1 e9 V: g# u1 @
break;
8 Z3 V7 [; s# q7 y6 m }
: {- H# H% j j ~) \' t parentNode=parentNode.parentNode;
; e# D4 @5 H: z parentBgColor=this.getobjstyle(parentNode,"background-color");' k! t) K8 p* r s+ {8 z( y
# ]& i3 h. ^: d7 Z/ k2 Z I5 X if(parentBgColor != "transparent")
+ `. ^0 I- c) v9 u# q) ^* W {
4 C: g1 Z, J) o0 Y" Y! V) | break;+ D/ B0 H/ G2 G& i; i
}5 u$ W5 A3 W/ @- n" H* z. J% o
} H4 y; U1 e, a' m
if(isLast) " e# Q" I7 v4 I( [/ \
{+ G6 J& z" e4 i! B" U# b
if(debug)
8 r8 R, G2 E5 p! Y {# `" m# s5 X& y) A) n5 k) k
alert("last!!");& ~1 G; E4 q @/ \) _
}- i+ O! `* p! T% q/ r1 @/ P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( Z+ G: h$ U1 v1 `" @ {
; ]* a7 M( ^- T3 k# T orgNode.parentNode.removeChild(orgNode); 0 v$ @) q( l% I: U; k
}* l7 Y$ P6 V5 G) a
}
, R4 m3 V2 g$ Q else. P' I1 b0 c2 F, ?0 F4 D( a- q
{# }2 o4 K$ m+ x6 d6 T7 P+ C$ j
if(debug)
) U- n" A/ H& s- C0 n {
; J0 V) w) H7 a2 G) R* E alert("compare color and parent bgcolor!");/ v% w9 P% b, X8 g, O, }" M$ U
}
* J& j3 F; {' D. `8 K) j0 q parentBgRGB=getRGB(parentBgColor);4 l& q4 t6 j, R( o
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 v! i5 r/ g7 A; V. Z# H3 n! G
{
# c# ^/ V( I* S5 N' a8 S$ X! d3 q orgNode.parentNode.removeChild(orgNode);
& y$ s" x! Z: ?3 R( o' e }
4 E. p; p/ v" b c$ @ e% B }
. k( w0 k+ Q0 P2 G& h* k }
8 |- Y& U6 W# G" Q! R }/ z" y" l1 I Q4 m
}. |/ {& J- H9 ]& P" f" }. C
}
9 {# b2 n3 J9 ^ |& n; Q, n V( n1 D9 F" L! r2 ]
+ T8 |# m6 I5 g0 j var itemFrames = page.getElementsByTagName("frame");# L6 v# Z& J/ m# E: J! Q, j
var itemiFrames = page.getElementsByTagName("iframe");: d. S3 K6 I# H7 u: G
& C4 x& P# [8 O2 A
var frame, iframe;6 t* Y! k, _# j
if (itemFrames.length > 0)
/ R. Q2 E8 o1 [; H3 V7 O {
0 E9 n' p( p5 l! T8 H3 ~) n) } for (var i = 0 ; i< itemFrames.length ; i++)
0 F' I' T0 P) @" m% v" L {
* Y3 _+ E* \9 C7 X9 W& Y3 H frame = itemFrames.contentDocument;, r# N& j3 O& {! Q; V
this.RemoveHide(frame,objname); $ I4 k2 A6 [; T. u) e5 B r) a
}
8 ?$ k* Z7 g' O }- K+ N( \6 N: f! h% p! _1 G9 h
if (itemiFrames.length > 0)
+ T1 c- H3 ?$ \ {6 ] E t- P% c8 _% u/ D+ y
for (var i = 0 ; i < itemiFrames.length ; i++) / l4 N; R, x; N2 T& w+ U7 D1 s
{ t. W5 n7 Q6 `2 g
iframe = itemiFrames.contentDocument;2 S1 N4 U/ H0 ]4 X" q
this.RemoveHide(iframe,objname); 2 f6 o; L$ |1 h+ q+ Q
}' {2 G! w' `4 u C( e# a
}
5 D! {6 E& w2 s* q7 F }- J$ ]% L, ^( F+ u
catch(e)7 S! z3 u! k, Q, U0 G) s
{9 e/ [8 [9 z+ ~
if(debug)
6 c$ C. E& m% X0 v, i L {) N1 P& B, O" s* \6 X
alert(e.message);- {) B8 Y( e U5 C2 ?% h- T
}
1 l& @% k: |) r }
. I! B; D7 L$ t, U2 o+ i4 u }% v. B( s# d4 n3 T# L1 S
, U7 J- G1 A8 `. w9 n
}3 V$ q! T1 S% E0 l2 y( ]
3 e2 s- K+ F, ?, l" z! S( Z vfunction getRGB(colorString)
9 ~' Y( i, I3 [/ o8 X/ j! t. W{
( Q2 K3 `7 |% ] X' U! { var RGB = new Array;
' {; D3 w+ v7 g! ~1 G var tempSting=colorString.substring(4,colorString.length-1);
% n1 k1 |4 e7 A" T7 Q; S var tempArray=tempSting.split(",");/ d1 r. `2 _! l
; d# p5 E3 x* h: y1 ^% L RGB[0]=parseInt(tempArray[0]);/ C) }5 S* ?) D g3 T% O
RGB[1]=parseInt(tempArray[1]);1 d5 l* |0 Y7 p# P/ t! j$ y6 l
RGB[2]=parseInt(tempArray[2]);
4 g, _7 Y3 g1 z- N7 R % P2 X7 A" g( b6 w6 Y5 _
return RGB;
/ k# _+ c w& O. p+ {}+ ~$ B, T3 r) B7 K
function keys(evt) * z# e" |- |/ f/ `% ~
{ % w& P# k$ j, l" I+ O6 y
if(evt.ctrlKey && evt.keyCode=="81") , m" p+ ?9 S7 y
{
) x% r9 D2 K6 e5 u/ y CleanHideObj.on(0,1);
$ f2 C. W3 Z8 ~. {5 U4 m- Y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); : S( C+ w8 G$ S" Q# S9 i' Y' c T
$ [* L, J6 Z0 c! m# w6 ~- z$ U/ l
}
, M) f" c7 ~, {9 `0 m' j }
( S: E3 \. @ G3 u# zdocument.addEventListener('keydown', keys, false); ( [+ l8 g# A4 x* F1 @
GM_registerMenuCommand ('Clean Hide',
: B; n/ f2 ]" B8 Dfunction(e){
, {3 ]3 }9 r3 }( } I( R5 M& B1 _CleanHideObj.on(0,1)
4 I8 ?$ F6 Y3 n9 {% Salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* G; X$ I) z+ L( ~
});" e% X m! m$ O6 E
|
评分
-
查看全部评分
|