|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % G3 R4 n2 l: T8 V6 o
! G) @5 U1 ]; s, f3 ^: y# V7 i
火狐插件,用猴子
8 T% S. F' Q% r+ ^1 }
( j3 F' N7 s3 K5 ovar debug=false;
7 P+ ]& }# L9 N( zvar CleanHideObj=new CleanHideClass();4 S! N0 n7 z/ I2 {; E5 N1 t5 I
' Q0 E( ]& ~5 b- K
function CleanHideClass() 0 t8 [, w6 s4 Y0 b8 A
{
3 g5 `, R4 Q$ o; W. q
$ x: j. u. t: G$ G& B this.on=function(id,bMZ)
% l$ r `" ~6 l0 l* c( N {3 ^/ z5 }- G- a) C$ h. I
2 k" L- h2 m9 q( T: Z
if(id == 0)6 f' O; y6 G6 }5 S: N( n( w
{; M- j) n! W( `1 x
var page=/* document.getElementById("content").contentDocument */document;
8 ?) `# U/ K4 z5 n this.RemoveHide(page,"span");4 X- _$ J1 a3 `" w
this.RemoveHide(page,"font");
3 G5 V( t1 @7 h \ this.RemoveHide(page,"div");( y. _8 K/ ~' r, c6 M2 z
this.RemoveHide(page,"p");
! `( b( e+ j, V4 s
+ m3 P" p' l8 u! K' t }
! O9 i4 Q" Y1 o/ H, V j @' s, x
/ ^6 E% M" N" c0 C. ^ }
8 I" J! r$ Y) e this.getobjstyle=function(node,prop)
& Y& X3 p2 T- C4 b& e' ?# a {: L" w# s$ p* h+ _4 a
try
1 y. G4 g1 k' R1 b2 `$ o {4 J& N3 ?" J$ ~2 D
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 Y( s3 ?0 F* M) P! l
}
. _+ s' g) ~ e7 n# n6 D catch(e)
8 D# U: ^# y! Y( N! q {6 t) l; r: d8 }/ K; q3 h3 x. \
if(debug)
. g; C# p: E% U* E/ t3 N& k0 i( y {7 C' N" C5 Z. o2 J! e
alert(e.message);
( e) C0 N# w& W' g& V: V }4 | M6 K9 G" ~5 p/ u' \
2 O& K1 R! e6 H4 y' k2 w return "200";
) Q5 W- L1 N* K, T' e }% D* ^0 i+ B- A3 ~. j3 Q3 i$ H
}
$ s6 {6 f2 o M& L
3 @- u" n6 b: ^, H: Q. L( n( ] this.RemoveHide=function(page,objname)
! ^5 K4 ~" } a9 G( X5 i {) R1 ^/ V @; D4 l
try
' u& e8 F. ^' F4 r( | {
' N5 Z9 K) C4 R0 }( a/ t var minValue=15;
# A3 l& H% [6 f% P1 K var objs=page.getElementsByTagName(objname); 0 |9 B5 Y; p7 e5 K x. Y+ t
6 ?$ U' q1 h& i if(objs.length == 0)
$ y* P' P$ e8 i9 T& ]% w {; A; {5 ^0 d8 N X0 t$ m
if(debug)2 m' U0 E, S; T3 k3 W
{
, r5 V' m2 }1 ]4 W alert("no object found!:"+objname);
4 x$ P% V. b7 S; q& U0 j0 A }/ z- k6 G+ q! j+ J. {
}; S0 F. F8 I O6 m( e9 f
else' e" |, t* I, U- o) F
{
) a3 i$ {4 g9 E- {( M# n/ W , F6 j6 Z2 v N I+ O
for(var i=objs.length-1;i>=0;i--) & b9 g" C& D2 {4 L% X
{
0 R, x4 @% K' y; o3 R8 u- e var node=objs.item(i); / z- I9 m* F @8 y2 T
. o7 L9 p& ?& q! L . k1 T' C- O3 f8 @, X8 d- k
if(this.getobjstyle(node,"display") == "none" ||8 Y/ W9 J* g+ l: N! k( S
this.getobjstyle(node,"visibility") =="hidden" ||
( P; |+ b" ?+ S3 n& `4 |" ~) l0 ? parseInt(this.getobjstyle(node,"font-size")) == 0)
; ~1 b5 K" r5 M) u {
* U) a+ ]# j* x& [' V if(debug)
3 G5 M( ], X( o) e s {
7 e; t* e3 { ~& c+ T, K alert("remove invisiable!");2 C8 Y! S- p( H+ v& c
}# N2 f, L; O9 @7 B4 J
node.parentNode.removeChild(node);
, ?2 C F7 y! o9 E) j& @ * B" T4 Q- G5 e; K
}
% s/ ^3 `0 j, T& i2 a else + T% R! ?# B9 V. U$ p) W3 I
{- x+ U: c3 b) S6 Z
if(node.parentNode) 8 c1 f8 o; Y/ }: W/ N) N
{
, P" m$ H4 A) Z8 ]/ j var orgNode=node;) b3 l/ j5 x) ^2 \3 l
var orgColor=this.getobjstyle(orgNode,"color")
$ J$ d/ I# @3 a# w var orgRGB=getRGB(orgColor); $ K$ H* b) R1 Y$ o, t3 @
2 V' |' s* G5 A: Y, T4 P2 G5 v var parentNode=node.parentNode# c$ L$ b ~( c
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 f4 V; K5 q3 ^# {0 c
|2 D- D6 \2 J' E1 h4 ` var isLast=false;9 m+ N! W+ d8 `) q/ E
4 b5 S1 X0 Y) n) [# U: |
while(parentBgColor == "transparent") S8 H$ D2 C3 a5 P' ~/ I! `
{
/ `2 L9 a- F& Z( C$ ^. Q1 V
: j4 U# b7 f/ J# ]
6 S# k# H7 L4 \& g4 S if(parentNode.parentNode == null)# `% @% G8 |- a+ B5 u
{. @2 O) |8 O5 n" j" x
isLast=true;
5 ?* [8 f9 i) S4 {6 c0 } break;& Z8 k# N& Z1 p" M( F
}
$ E) ?) ?0 i, y b parentNode=parentNode.parentNode;
4 i, m7 |0 L; Z: s6 l o1 Z8 } parentBgColor=this.getobjstyle(parentNode,"background-color");
2 t- H# {' o0 x' J2 B) q) K$ y, m X* Y1 \9 F
if(parentBgColor != "transparent") $ ~: z3 x6 s0 D: A2 S
{
6 z# C+ |$ {" z: G/ h; G: v5 w/ a2 y break;
! x& K0 K5 S3 p( [- i8 |7 z) u }
9 ]. L4 b0 N; Q" s. q% A; S }1 _4 m, i# L7 L( C
if(isLast) / x* }/ n5 S- U" ~5 k: t# p& A# e$ ~
{; l$ C1 B, b! Q! x" u- d
if(debug)! y+ v$ q1 g5 G/ h% j0 {
{( ?$ P4 Y& Q H4 `6 i7 c6 o$ F- v
alert("last!!");& j* r& l, a6 _5 R( K) i
}
0 ^0 Y5 L% l, f, n if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, w; S9 z4 U1 t& R {
8 @/ T# a% i% Y' P0 l3 r orgNode.parentNode.removeChild(orgNode);
5 V" V+ y# n+ ?( x+ V/ Q* x }$ C+ D2 z$ v' w D2 c
}/ M# \9 E; c4 n9 v
else
2 m$ P% R0 P& V5 O! n4 @* e {
" p6 z" ?9 s! q% Y% c3 p( s; Y: O if(debug)
; A: O. }# p$ G3 r8 `) b& q8 d3 d {) ` P% K' ?' W# Z
alert("compare color and parent bgcolor!");
2 j# y" h9 C4 Y }
& v& F7 ^& X# h& w% _# I parentBgRGB=getRGB(parentBgColor);
! [( c3 R) |8 |$ D% y; p8 E( E, y2 y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ T9 g3 y) g; e, [
{
: @; a9 }' _* x orgNode.parentNode.removeChild(orgNode);
# e1 \; { E" N# s2 V5 U* r* y' @% Z/ u }
C# L; @6 \; ?- e }1 y8 R! u6 d4 k% i# j. T
}
; l9 n- z" C8 \" S }1 h% G9 y x7 Z8 {3 v. Q, G
}
3 b! S. u( e! ?8 ~; U } t" C6 u6 F9 `4 v9 S1 O( d
0 N1 M1 b1 Q$ G* O. x( h, ?# K# m7 p
. Q) ~5 m6 Y# H1 Z, f ?, B' M
var itemFrames = page.getElementsByTagName("frame");) N' e" N `2 O$ c# A
var itemiFrames = page.getElementsByTagName("iframe");, n/ W& h0 e4 x8 a+ ~9 L
" O( Q) v' Z+ ` u2 I1 o6 |! K
var frame, iframe;
8 N( f, T6 f, v/ P2 E, w if (itemFrames.length > 0) m3 u* u, f- O; J6 r3 ^, a; A
{
& K* R+ Y% f7 O' A4 N for (var i = 0 ; i< itemFrames.length ; i++) ; z2 G$ L% d' A9 ?5 `0 r* g
{
- a) r/ `" u8 c" P6 X) Z R frame = itemFrames.contentDocument;+ Q/ `, E! S( u4 x: g9 s
this.RemoveHide(frame,objname); . ` l# X# S( Z7 ~3 a: {0 e! h9 h9 Y! k
}! _( H+ t# X5 ^# A5 T( k
}9 @8 J5 K2 l8 }& Z1 W" U5 f
if (itemiFrames.length > 0)" r) l; O" c2 }
{) b6 V. T; F; |; }6 V3 h0 C
for (var i = 0 ; i < itemiFrames.length ; i++) ( E& S( a3 k$ x. a q: O& C
{2 k% [( E# j9 ?4 E4 u: b' v
iframe = itemiFrames.contentDocument;
* U7 W; O+ W4 d7 M1 y8 o9 r this.RemoveHide(iframe,objname);
, {7 l& B# T4 G2 ] }
, T& y/ V- t8 p: t C }
# \+ u, w, c$ E5 [9 i4 P9 u }3 B: o. E9 p) H" M+ \# Y
catch(e)
' v/ l2 i- A5 G {
7 e; q" S: u8 y if(debug)
6 @6 C( ^* \% R" y( w6 a% t5 T {
6 R7 L; Z3 k \8 @- m alert(e.message);& t: i9 x5 c4 x( S/ |
}* S+ Y/ f- i4 Z" A5 N: y
} ?: e% U+ x' L! o5 G: G
}
/ {# P" U! L {) A% N
1 G8 u# H2 @! I# A4 A/ i}# @$ F. @8 M, X; z
" A# u2 t5 h: Q. T+ a8 ?6 X0 s5 y
function getRGB(colorString)& q, G6 ^ [( q/ k; X" S
{7 M7 ?8 l1 R% A* j
var RGB = new Array;, D- Y1 n" G: D3 o e
var tempSting=colorString.substring(4,colorString.length-1);' \- q$ I9 d& W" K' d, d
var tempArray=tempSting.split(",");
: L2 j" M+ \$ N" C" r
2 L# H2 L }' W% n: I, ~ RGB[0]=parseInt(tempArray[0]);
/ @3 B- G# d) q' r RGB[1]=parseInt(tempArray[1]);& y) ~/ S' T. H) A( q
RGB[2]=parseInt(tempArray[2]);2 O2 {4 o/ s3 B7 ?2 P4 s/ c( {
/ D& X0 E/ P. s0 d7 R( N return RGB;3 Y9 Q2 ]+ u6 s K( W p% h
}
! r5 w5 ^5 J! r f6 _/ q* ?( k& K; Wfunction keys(evt)
; \! m: `# @( \# o2 u$ W& {3 | { 3 t0 ]2 V. A/ B' L2 w0 {1 M3 K3 k
if(evt.ctrlKey && evt.keyCode=="81")
5 k2 y% `% ~' q1 }% D' N" \- S {
% d7 D0 E0 g3 E/ `2 m! C! K. [ CleanHideObj.on(0,1);
7 r) g2 f4 i2 P% X4 q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- R8 b2 h+ i4 |
7 ~' r+ R: B7 f6 ~" h } * k( Z5 g% W9 Z. M7 ^
}
* o3 P; O! t: S- u) Fdocument.addEventListener('keydown', keys, false);
2 Q5 Z' t3 a' N( o8 B, QGM_registerMenuCommand ('Clean Hide',
. K3 Q& z/ @# sfunction(e){0 c" l- G, A& H) ~& i& \
CleanHideObj.on(0,1)
$ @& q' h. E7 D* T+ b7 K5 qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% j% U" B% p2 K" N" l0 f* p});
( C1 Q$ O, x5 h( U |
评分
-
查看全部评分
|