xref: /aosp_15_r20/external/zxing/zxing.appspot.com/src/main/webapp/scan.html (revision 513427e33d61bc67fc40bc261642ac0b2a686b45)
1*513427e3STreehugger Robot<!DOCTYPE html>
2*513427e3STreehugger Robot<!--
3*513427e3STreehugger Robot Copyright (C) 2014 ZXing authors
4*513427e3STreehugger Robot
5*513427e3STreehugger Robot Licensed under the Apache License, Version 2.0 (the "License");
6*513427e3STreehugger Robot you may not use this file except in compliance with the License.
7*513427e3STreehugger Robot You may obtain a copy of the License at
8*513427e3STreehugger Robot
9*513427e3STreehugger Robot      http://www.apache.org/licenses/LICENSE-2.0
10*513427e3STreehugger Robot
11*513427e3STreehugger Robot Unless required by applicable law or agreed to in writing, software
12*513427e3STreehugger Robot distributed under the License is distributed on an "AS IS" BASIS,
13*513427e3STreehugger Robot WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*513427e3STreehugger Robot See the License for the specific language governing permissions and
15*513427e3STreehugger Robot limitations under the License.
16*513427e3STreehugger Robot -->
17*513427e3STreehugger Robot<html>
18*513427e3STreehugger Robot	<head>
19*513427e3STreehugger Robot		<title>App Installation</title>
20*513427e3STreehugger Robot
21*513427e3STreehugger Robot		<meta charset="UTF-8" />
22*513427e3STreehugger Robot		<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />
23*513427e3STreehugger Robot
24*513427e3STreehugger Robot		<script src="https://code.jquery.com/jquery-1.12.4.min.js"
25*513427e3STreehugger Robot				integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
26*513427e3STreehugger Robot				crossorigin="anonymous"></script>
27*513427e3STreehugger Robot
28*513427e3STreehugger Robot		<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Droid+Sans" />
29*513427e3STreehugger Robot		<link rel="stylesheet" href="scan.css" />
30*513427e3STreehugger Robot	</head>
31*513427e3STreehugger Robot
32*513427e3STreehugger Robot	<body>
33*513427e3STreehugger Robot		<img src="img/app.png" id="logo" alt="ZXing" />
34*513427e3STreehugger Robot		<br />
35*513427e3STreehugger Robot		<div id="info">
36*513427e3STreehugger Robot			<p>To scan code with your mobile camera you need to install free Barcode Scanner -app</p>
37*513427e3STreehugger Robot			<br />
38*513427e3STreehugger Robot			<a href="https://play.google.com/store/apps/details?id=com.google.zxing.client.android" target="_blank" class="playLink"><img alt="Get it on Google Play" src="img/badge.png" /></a>
39*513427e3STreehugger Robot			<br />
40*513427e3STreehugger Robot			<small><a href="#" id="man">or enter code manually</a></small>
41*513427e3STreehugger Robot		</div>
42*513427e3STreehugger Robot		<div id="installed">
43*513427e3STreehugger Robot			<br />
44*513427e3STreehugger Robot			<b>Thank you for installing!</b>
45*513427e3STreehugger Robot			<p>To scan barcode and return to webpage <a href="">click here</a></p>
46*513427e3STreehugger Robot			<br />
47*513427e3STreehugger Robot			<small style="opacity:0.5">Remember to give 5 stars to our app on Google Play</small>
48*513427e3STreehugger Robot		</div>
49*513427e3STreehugger Robot		<div id="error">
50*513427e3STreehugger Robot			<br />
51*513427e3STreehugger Robot			<b>Something went wrong :-(</b>
52*513427e3STreehugger Robot			<p>You clicked link, but app can't start. Make sure that you have installed Barcode Scanner -app.</p>
53*513427e3STreehugger Robot			<a href="https://play.google.com/store/apps/details?id=com.google.zxing.client.android" target="_blank" class="playLink">Try downloading again</a>
54*513427e3STreehugger Robot		</div>
55*513427e3STreehugger Robot		<br />
56*513427e3STreehugger Robot
57*513427e3STreehugger Robot		<script type="text/javascript">
58*513427e3STreehugger Robot			$(function(){
59*513427e3STreehugger Robot				var playLink = $(".playLink");
60*513427e3STreehugger Robot				var man = $("#man");
61*513427e3STreehugger Robot				// If device is Android, change URI to Android-friendly. Otherwise use HTTP URI.
62*513427e3STreehugger Robot				if(navigator.userAgent.toLowerCase().indexOf("android") !== -1) {
63*513427e3STreehugger Robot					playLink.attr("src","market://details?id=com.google.zxing.client.android");
64*513427e3STreehugger Robot				}
65*513427e3STreehugger Robot
66*513427e3STreehugger Robot				// Detect GET-parameters from URL
67*513427e3STreehugger Robot				var GET = {};
68*513427e3STreehugger Robot				$.each(location.search.substr(1).split("&"),function(k,v){
69*513427e3STreehugger Robot					var prm = v.split("=");
70*513427e3STreehugger Robot					GET[decodeURIComponent(prm[0])] = decodeURIComponent(prm[1]);

71*513427e3STreehugger Robot				});
72*513427e3STreehugger Robot
73*513427e3STreehugger Robot				// Check is it possible to use manual mode
74*513427e3STreehugger Robot				if(GET["ret"] === "" || GET["ret"] === void(0) || GET["ret"].indexOf("http") === -1){
75*513427e3STreehugger Robot					man.hide();
76*513427e3STreehugger Robot				}
77*513427e3STreehugger Robot
78*513427e3STreehugger Robot				// When Google Play -badge is clicked ...
79*513427e3STreehugger Robot				playLink.click(function(){
80*513427e3STreehugger Robot					$("#info").hide();
81*513427e3STreehugger Robot					$("#error").hide();
82*513427e3STreehugger Robot					$("#installed").show();
83*513427e3STreehugger Robot					var url = location.href;
84*513427e3STreehugger Robot					if(url.indexOf("?") === -1) url = url + "?";
85*513427e3STreehugger Robot					url = url + "&installed=1";
86*513427e3STreehugger Robot					$("#installed a").attr("href",url);
87*513427e3STreehugger Robot				});
88*513427e3STreehugger Robot
89*513427e3STreehugger Robot				// When manual-button is clicked ...
90*513427e3STreehugger Robot				man.click(function(e){
91*513427e3STreehugger Robot					e.preventDefault();
92*513427e3STreehugger Robot					var man = prompt("Please type barcode below");
93*513427e3STreehugger Robot					if(man){
94*513427e3STreehugger Robot						var url = GET["ret"];
95*513427e3STreehugger Robot						if (url.indexOf("{CODE}") === -1) {
96*513427e3STreehugger Robot							// Return URL has no {CODE} place holder, so add a query parameter
97*513427e3STreehugger Robot							if (url.indexOf("?") === -1)
98*513427e3STreehugger Robot								url = url + "?" + encodeURIComponent("{CODE}") + "=" + encodeURIComponent(man);
99*513427e3STreehugger Robot							else
100*513427e3STreehugger Robot								url = url + "&" + encodeURIComponent("{CODE}") + "=" + encodeURIComponent(man);
101*513427e3STreehugger Robot						} else {
102*513427e3STreehugger Robot							// Replace the {CODE} placeholder in the return URL with the scanned code.
103*513427e3STreehugger Robot							url = url.replace("{CODE}", encodeURIComponent(man));
104*513427e3STreehugger Robot						}
105*513427e3STreehugger Robot						location = url;
106*513427e3STreehugger Robot					}
107*513427e3STreehugger Robot				});
108*513427e3STreehugger Robot
109*513427e3STreehugger Robot				// If app isn't installed after visiting on Google Play, show error
110*513427e3STreehugger Robot				if(GET["installed"] !== void(0)){
111*513427e3STreehugger Robot					$("#info").hide();
112*513427e3STreehugger Robot					$("#error").show();
113*513427e3STreehugger Robot				}
114*513427e3STreehugger Robot			});
115*513427e3STreehugger Robot		</script>
116*513427e3STreehugger Robot	</body>
117*513427e3STreehugger Robot</html>