line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Moxy::Plugin::DisplayWidth; |
2
|
12
|
|
|
12
|
|
62803
|
use strict; |
|
12
|
|
|
|
|
72
|
|
|
12
|
|
|
|
|
480
|
|
3
|
12
|
|
|
12
|
|
67
|
use warnings; |
|
12
|
|
|
|
|
26
|
|
|
12
|
|
|
|
|
471
|
|
4
|
12
|
|
|
12
|
|
66
|
use base qw/Moxy::Plugin/; |
|
12
|
|
|
|
|
19
|
|
|
12
|
|
|
|
|
3365
|
|
5
|
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
# HTML全体の横幅をUAの画面サイズに合わせる |
7
|
|
|
|
|
|
|
sub response_filter :Hook { |
8
|
3
|
|
|
3
|
0
|
19040
|
my ($class, $context, $args) = @_; |
9
|
3
|
|
|
|
|
7
|
my $attr = $args->{mobile_attribute}; |
10
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
# スマートフォンの場合はnon_mobileになるが、X-Display-Sizeヘッダーが定義されていれば |
12
|
|
|
|
|
|
|
# それをdisplay sizeとして採用する |
13
|
3
|
|
|
|
|
5
|
my $width; |
14
|
3
|
100
|
|
|
|
15
|
if ($attr->is_non_mobile) { |
15
|
1
|
|
|
|
|
33
|
$width = $attr->request->get('X-Display-Size'); |
16
|
1
|
50
|
33
|
|
|
17
|
return if !$width || $width !~ /^\d+\*\d+$/; |
17
|
0
|
|
|
|
|
0
|
$width =~ s/\*.+//; |
18
|
|
|
|
|
|
|
} |
19
|
|
|
|
|
|
|
# HTTP::MobileAttribute::Plugin::Display は AirHPhone に対応していない。 |
20
|
|
|
|
|
|
|
# が、ディスプレイ幅の指定がないと利用に耐えないので、現行機種のほとんどが 320px であることが下記 URL より確認できるので |
21
|
|
|
|
|
|
|
# http://www.willcom-inc.com/ja/lineup/spec/voice/index.html |
22
|
|
|
|
|
|
|
# 320px 固定にしておく。だれか Willcom が大好きでたまらないような人があらわれたら対応してください。 |
23
|
|
|
|
|
|
|
else { |
24
|
2
|
100
|
|
|
|
34
|
$width = $attr->is_airh_phone ? 320 : $attr->display->width; |
25
|
|
|
|
|
|
|
} |
26
|
2
|
|
50
|
|
|
126
|
$width ||= 320; # なんかうまくとれなかったときのデフォルトのサイズは 320 とする。とくに理由はない。 |
27
|
|
|
|
|
|
|
|
28
|
2
|
|
|
|
|
9
|
my $header = qq! !; |
29
|
|
|
|
|
|
|
|
30
|
2
|
|
|
|
|
8
|
my $content = $args->{response}->content; |
31
|
2
|
|
|
|
|
35
|
$content =~ s!(]*>)!$1$header!i; |
32
|
2
|
|
|
|
|
23
|
$content =~ s!()!"$1"!ie; |
|
2
|
|
|
|
|
6
|
|
33
|
2
|
|
|
|
|
8
|
$args->{response}->content($content); |
34
|
12
|
|
|
12
|
|
1112
|
} |
|
12
|
|
|
|
|
1446
|
|
|
12
|
|
|
|
|
122
|
|
35
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
1; |
37
|
|
|
|
|
|
|
__END__ |