1 |
dpavlin |
201 |
package Frey::Bookmarklet; |
2 |
|
|
use Moose; |
3 |
|
|
|
4 |
|
|
=head1 NAME |
5 |
|
|
|
6 |
|
|
Frey::Bookmarklet - provide bookmarklets for developers |
7 |
|
|
|
8 |
|
|
=head2 SEE ALSO |
9 |
|
|
|
10 |
|
|
L<http://slayeroffice.com/tools/modi/v2.0/modi_help.html> |
11 |
|
|
|
12 |
|
|
=cut |
13 |
|
|
|
14 |
|
|
extends 'Frey'; |
15 |
|
|
with 'Frey::Web'; |
16 |
|
|
|
17 |
|
|
use File::Slurp; |
18 |
|
|
|
19 |
dpavlin |
455 |
sub as_markup { |
20 |
dpavlin |
201 |
my $self = shift; |
21 |
|
|
|
22 |
|
|
my $js = read_file( 'static/xpath.js' ); |
23 |
|
|
$js =~ s{//.*}{}gm; # remove comments so that compaction below doesn't screw code |
24 |
|
|
$js =~ s/\s\s+/ /gs; |
25 |
|
|
|
26 |
|
|
my $html = qq| |
27 |
|
|
<ul> |
28 |
dpavlin |
206 |
<li>Inspectors</li> |
29 |
|
|
<ul> |
30 |
|
|
<li><a href="javascript:void($js);">xpath</a> (click again to inspect any element)</li> |
31 |
|
|
<li><a href="javascript:prefFile='';void(z=document.body.appendChild(document.createElement('script')));void(z.language='javascript');void(z.type='text/javascript');void(z.src='http://slayeroffice.com/tools/modi/v2.0/modi_v2.0.js');void(z.id='modi');">MODIv2</a></li> |
32 |
dpavlin |
700 |
<li><a href="javascript:var%20firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);">Firebug Lite</a></li> |
33 |
dpavlin |
206 |
</ul> |
34 |
|
|
<li>Frames management</li> |
35 |
|
|
<ul> |
36 |
dpavlin |
305 |
<li><a href="javascript:f='';for(x=0;x<window.frames.length;x++){f+=x+':'+window.frames[x].name+'\\n';};d=prompt('Frame?\\n'+f,'');if (!d) { d=0 };window.location=window.frames[d].location;">x</a> close frame (with alert selector)</li> |
37 |
|
|
<li><a href="javascript:document.write('<HTML><HEAD></HEAD><FRAMESET ROWS=\\'50%,*\\'><FRAME SRC=' + location.href + ' name=left><FRAME SRC=' + location.href + ' name=right></FRAMESET></HTML>')">h</a> horizontal split</li> |
38 |
|
|
<li><a href="javascript:document.write('<HTML><HEAD></HEAD><FRAMESET COLS=\\'50%,*\\'><FRAME SRC=' + location.href + ' name=top><FRAME SRC=' + location.href + ' name=bottom></FRAMESET></HTML>')">v</a> vertical split</li> |
39 |
dpavlin |
206 |
<!-- |
40 |
|
|
<li><a href=""></a></li> |
41 |
|
|
--> |
42 |
|
|
</ul> |
43 |
|
|
</ul> |
44 |
dpavlin |
201 |
|; |
45 |
|
|
|
46 |
dpavlin |
206 |
return $self->page( |
47 |
|
|
title => 'Bookmarklets for developers', |
48 |
|
|
body => $html, |
49 |
|
|
) if $self->can('page'); |
50 |
|
|
|
51 |
|
|
return $html; |
52 |
dpavlin |
201 |
} |
53 |
|
|
|
54 |
|
|
1; |