-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathpiyo_shogi_test.html
74 lines (74 loc) · 4.15 KB
/
piyo_shogi_test.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<!-- -*- compile-command: "scp piyo_shogi_test.html i:/var/www/shogi_web_production/current/public/system/; open https://www.shogi-extend.com/system/piyo_shogi_test" -*- -->
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, width=device-width, user-scalable=0" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/bulma.min.css">
<style>ol { display: flex; flex-direction: column; gap: 1rem; }</style>
</head>
<body>
<h1 class="title is-5">ぴよ将棋ディープリンク動作確認用</h1>
<div class="content">
<ol>
<li>
◎<a href="piyoshogi://?num=3&game_name=%E5%85%B1%E6%9C%89%E5%B0%86%E6%A3%8B%E7%9B%A4&sfen=position%20sfen%20lnsgkgsnl%2F1r5b1%2Fppppppppp%2F9%2F9%2F9%2FPPPPPPPPP%2F1B5R1%2FLNSGKGSNL%20b%20-%201%20moves%207g7f%203c3d%208h2b%2B">リンク</a>
<ul>
<li>SFEN を JavaScript の encodeURIComponent でエンコードする</li>
<li>encodeURIComponent は古い方法とされている</li>
<li>
スペースは "%20" になる
<pre>encodeURIComponent("a b") // => "a%20b"</pre>
</li>
<li>iOS版でもAndroid版でも読み込める</li>
</ul>
</li>
<li>
×<a href="piyoshogi://?num=3&game_name=%E5%85%B1%E6%9C%89%E5%B0%86%E6%A3%8B%E7%9B%A4&sfen=position+sfen+lnsgkgsnl%2F1r5b1%2Fppppppppp%2F9%2F9%2F9%2FPPPPPPPPP%2F1B5R1%2FLNSGKGSNL+b+-+1+moves+7g7f+3c3d+8h2b%2B">リンク</a>
<ul>
<li>SFEN を JavaScript の URLSearchParams でエンコードする</li>
<li>URLSearchParams は最近の推奨する方法とされている</li>
<li>
スペースは "+" になる
<pre>const params = new URLSearchParams()
params.append("x", "a b")
params.toString() // => "x=a+b"</pre>
</li>
<li>iOS版でもAndroid版でも読み込める</li>
</ul>
</li>
<li>
◎<a href="piyoshogi://?num=3&url=https://www.shogi-extend.com/example_utf_8.kif">リンク</a>
<ul>
<li>引数がないKIFのURLは読み込める</li>
</ul>
</li>
<li>
×<a href="piyoshogi://?num=3&url=https://www.shogi-extend.com/share-board.kif?turn=3&xbody=cG9zaXRpb24gc2ZlbiBsbnNna2dzbmwvMXI1YjEvcHBwcHBwcHBwLzkvOS85L1BQUFBQUFBQUC8xQjVSMS9MTlNHS0dTTkwgYiAtIDEgbW92ZXMgN2c3ZiAzYzNkIDhoMmIr">リンク</a>
<ul>
<li>引数があるKIFのURLは読み込めない</li>
<li>「読み込みました」と出るが0手目までしか読み込めていない</li>
<li>turn や xbody パラメータが url パラメータの値として読み取られていない</li>
<li>エスケープしていないのが問題なので、これが正しく読めないのは問題ない</li>
</ul>
</li>
<li>
◎<a href="piyoshogi://?num=3&url=https%3A%2F%2Fwww.shogi-extend.com%2Fshare-board.kif%3Fturn%3D3%26xbody%3DcG9zaXRpb24gc2ZlbiBsbnNna2dzbmwvMXI1YjEvcHBwcHBwcHBwLzkvOS85L1BQUFBQUFBQUC8xQjVSMS9MTlNHS0dTTkwgYiAtIDEgbW92ZXMgN2c3ZiAzYzNkIDhoMmIr">リンク</a>
<ul>
<li>上の問題に対処するため url パラメータに指定する値(URL全体)をエスケープしている。</li>
<li>iOS 版ではエラーになる</li>
<li>「棋譜が読み込めませんでした 対応しない形式です」と表示される</li>
<li>v4.9.7で直ったのを確認</li>
<li>Android 版ではもとから読み込める</li>
</ul>
</li>
<li>
◎<a href="piyoshogi://?url=https%3A%2F%2Fwww.shogi-extend.com%2Fshare-board.kif%3Fturn%3D3%26xbody%3DcG9zaXRpb24gc2ZlbiBsbnNna2dzbmwvMXI1YjEvcHBwcHBwcHBwLzkvOS85L1BQUFBQUFBQUC8xQjVSMS9MTlNHS0dTTkwgYiAtIDEgbW92ZXMgN2c3ZiAzYzNkIDhoMmIr&num=2">リンク</a>
<ul>
<li>最後がkifで終わらなくても読める</li>
</ul>
</li>
</ol>
<p>ぴよ将棋 iOS版, Android版ともに v4.9.9 で確認</p>
</div>
</body>
</html>