Created
December 6, 2012 05:31
-
-
Save holysugar/4222020 to your computer and use it in GitHub Desktop.
ITMS へのリダイレクト例 (sinatra)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # coding: utf-8 | |
| require 'sinatra' | |
| itms_url = 'itms-apps://itunes.apple.com/jp/genre/id6014' | |
| get '/' do | |
| return <<-HTML | |
| <html> | |
| <head> | |
| <title>ITMSリダイレクト挙動サンプル</title> | |
| <meta name="viewport" content="width=device-width"> | |
| </head> | |
| <body> | |
| <p>iOS で開いてください</p> | |
| <ol> | |
| <li><a id="a1" href="#{itms_url}">直接リンク( #{itms_url} )による遷移</a></li> | |
| <li><a id="a2" href="/redirect">/redirect で 301 レスポンスを経由する遷移</a></li> | |
| <li><a id="a3" class="js" href="/?a3">JavaScript で開く</a></li> | |
| <li><a id="a4" class="js" href="/?a4">JavaScript を使ってついでにページを閉じるのも試みる</a></li> | |
| </ol> | |
| <script> | |
| window.onload = function() { | |
| var elems = document.getElementsByClassName('js'); | |
| for (var i = 0, l = elems.length; i < l; i++) { | |
| elems[i].addEventListener('click', function(e) { | |
| e.preventDefault(); | |
| location.href = '#{itms_url}'; | |
| if (e.target.id === 'a4') { | |
| setTimeout(function() { | |
| window.open("about:blank","_self").close(); | |
| },100); | |
| } | |
| }, true); | |
| } | |
| } | |
| </script> | |
| </body> | |
| </html> | |
| HTML | |
| end | |
| get '/redirect' do | |
| redirect itms_url | |
| end |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
元のページ残らないようにできるかなと思って4やってみたけど,これはこれでだいぶきめー