Javascript 无法通过后退键终止应用程序(*应用程序中没有退出菜单)
我曾多次尝试向三星提交我的应用程序,但我总是被拒绝,因为手表的后退按钮或退出按钮不起作用 正如Tizen文档中所解释的,我的应用程序是一个HTML中的多个页面 我不知道app.js文件中的代码是否有问题,其中一个HTML文件中的多个页面有问题 App.js文件:Javascript 无法通过后退键终止应用程序(*应用程序中没有退出菜单),javascript,jquery,tizen,tizen-web-app,samsung-galaxy-gear,Javascript,Jquery,Tizen,Tizen Web App,Samsung Galaxy Gear,我曾多次尝试向三星提交我的应用程序,但我总是被拒绝,因为手表的后退按钮或退出按钮不起作用 正如Tizen文档中所解释的,我的应用程序是一个HTML中的多个页面 我不知道app.js文件中的代码是否有问题,其中一个HTML文件中的多个页面有问题 App.js文件: ( function () { window.addEventListener( 'tizenhwkey', function( ev ) { if( ev.keyName === "back" ) {
( function () {
window.addEventListener( 'tizenhwkey', function( ev ) {
if( ev.keyName === "back" ) {
var page = document.getElementsByClassName( 'ui-page-active' )[0],
pageid = page ? page.id : "";
if( pageid === "main" ) {
try {
tizen.application.getCurrentApplication().exit();
} catch (ignore) {
}
} else {
tau.changePage("#main");
}
}
} );
} () );
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,user-scalable=no">
<title>BRStocks</title>
<link rel="stylesheet" href="lib/tau/wearable/theme/default/tau.min.css">
<link rel="stylesheet" media="all and (-tizen-geometric-shape: circle)" href="lib/tau/wearable/theme/default/tau.circle.min.css">
<!-- load theme file for your application -->
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="ui-page ui-page-active" id="main">
<header>
<h2 class="ui-title">BR Stocks</h2>
</header>
<div class="ui-content content-padding">
<ul class="ui-listview">
<li><a href="#two" id="first-button" onclick="link(event);" ticker_id="BVSP">BVSP</a></li>
<li><a href="#two" id="IBOV" onclick="link(event);" ticker_id="IBOV">IBOV</a></li>
<li><a href="#two" id="ABEV3" onclick="link(event);" ticker_id="ABEV3">ABEV3</a></li>
<li><a href="#two" id="AZUL4" onclick="link(event);" ticker_id="AZUL4">AZUL4</a></li>
<li><a href="#two" id="BTOW3" onclick="link(event);" ticker_id="BTOW3">BTOW3</a></li>
</ul>
</div>
</div>
<div class="ui-page" id="two">
<span id='ABEV3'>START</span>
<header>
<h2 class="ui-title" id="title">Loading...</h2>
</header>
<div class="ui-content">
<div id="container">
<pre><span id="ticker"></span></pre>
<pre><span id="price"></span></pre>
<pre><span id="pctChange"></span></pre>
<a class="back" href="main" onClick="Clear();">Voltar</a>
</div>
</div>
</div>
<script>
function Clear()
{
document.getElementById('title').innerHTML="Loading...";
document.getElementById('ticker').innerHTML = '';
document.getElementById('price').innerHTML = '';
document.getElementById('pctChange').innerHTML = '';
}
function link(event) {
var element = event.target;
var ticker_id = element.getAttribute("ticker_id");
// do what you will with hike_id
console.log(ticker_id);
getPrice(ticker_id);
return;
}
function getPrice(y) {
if (self.fetch) {
console.log("fetch ok!")
fetch('xxxxxxxxxxxxxxxx')
.then(response => response.json())
.then(data => {
console.log("Fetching...")
//document.getElementById('title').innerHTML = data[y]['name']
var CompanyName = data[y]['name'];
var CompanyTicker = data[y]['ticker'];
var lastPrice = Number(data[y]['lastPrice']);
var pctChange = Number(data[y]['pctChange']);
pctChange = pctChange.toFixed(2);
document.getElementById('ticker').innerHTML = CompanyTicker;
document.getElementById('title').innerHTML = CompanyName;
document.getElementById('price').innerHTML = lastPrice.toLocaleString('pt-BR');
document.getElementById('pctChange').innerHTML = pctChange.replace('.',',') + '%';
if (pctChange < 0) {
console.log('Achou o sinal negativo');
document.getElementById('pctChange').className = 'redFont';
}else{
document.getElementById('pctChange').className = 'greenFont';
}
});
} else {
console.log("Something went wrong...")
}
}
function red(){
var elements = document.getElementById('pctChange').innerHTML;
console.log('Elemento: '+elements);
if (elements.includes('-')) {
console.log('Achou o sinal negativo');
document.getElementById('pctChange').className = 'redFont';
}else{
document.getElementById('pctChange').className = 'greenFont';
}
}
</script>
<script src="lib/tau/wearable/js/tau.min.js"></script>
<script src="js/app.js"></script>
<script src="js/lowBatteryCheck.js"></script>
<script src="js/circle-helper.js"></script>
<script type="text/javascript" src="jquery-3.4.1.min.js"></script>
</body>
</html>
index.html文件:
( function () {
window.addEventListener( 'tizenhwkey', function( ev ) {
if( ev.keyName === "back" ) {
var page = document.getElementsByClassName( 'ui-page-active' )[0],
pageid = page ? page.id : "";
if( pageid === "main" ) {
try {
tizen.application.getCurrentApplication().exit();
} catch (ignore) {
}
} else {
tau.changePage("#main");
}
}
} );
} () );
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,user-scalable=no">
<title>BRStocks</title>
<link rel="stylesheet" href="lib/tau/wearable/theme/default/tau.min.css">
<link rel="stylesheet" media="all and (-tizen-geometric-shape: circle)" href="lib/tau/wearable/theme/default/tau.circle.min.css">
<!-- load theme file for your application -->
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="ui-page ui-page-active" id="main">
<header>
<h2 class="ui-title">BR Stocks</h2>
</header>
<div class="ui-content content-padding">
<ul class="ui-listview">
<li><a href="#two" id="first-button" onclick="link(event);" ticker_id="BVSP">BVSP</a></li>
<li><a href="#two" id="IBOV" onclick="link(event);" ticker_id="IBOV">IBOV</a></li>
<li><a href="#two" id="ABEV3" onclick="link(event);" ticker_id="ABEV3">ABEV3</a></li>
<li><a href="#two" id="AZUL4" onclick="link(event);" ticker_id="AZUL4">AZUL4</a></li>
<li><a href="#two" id="BTOW3" onclick="link(event);" ticker_id="BTOW3">BTOW3</a></li>
</ul>
</div>
</div>
<div class="ui-page" id="two">
<span id='ABEV3'>START</span>
<header>
<h2 class="ui-title" id="title">Loading...</h2>
</header>
<div class="ui-content">
<div id="container">
<pre><span id="ticker"></span></pre>
<pre><span id="price"></span></pre>
<pre><span id="pctChange"></span></pre>
<a class="back" href="main" onClick="Clear();">Voltar</a>
</div>
</div>
</div>
<script>
function Clear()
{
document.getElementById('title').innerHTML="Loading...";
document.getElementById('ticker').innerHTML = '';
document.getElementById('price').innerHTML = '';
document.getElementById('pctChange').innerHTML = '';
}
function link(event) {
var element = event.target;
var ticker_id = element.getAttribute("ticker_id");
// do what you will with hike_id
console.log(ticker_id);
getPrice(ticker_id);
return;
}
function getPrice(y) {
if (self.fetch) {
console.log("fetch ok!")
fetch('xxxxxxxxxxxxxxxx')
.then(response => response.json())
.then(data => {
console.log("Fetching...")
//document.getElementById('title').innerHTML = data[y]['name']
var CompanyName = data[y]['name'];
var CompanyTicker = data[y]['ticker'];
var lastPrice = Number(data[y]['lastPrice']);
var pctChange = Number(data[y]['pctChange']);
pctChange = pctChange.toFixed(2);
document.getElementById('ticker').innerHTML = CompanyTicker;
document.getElementById('title').innerHTML = CompanyName;
document.getElementById('price').innerHTML = lastPrice.toLocaleString('pt-BR');
document.getElementById('pctChange').innerHTML = pctChange.replace('.',',') + '%';
if (pctChange < 0) {
console.log('Achou o sinal negativo');
document.getElementById('pctChange').className = 'redFont';
}else{
document.getElementById('pctChange').className = 'greenFont';
}
});
} else {
console.log("Something went wrong...")
}
}
function red(){
var elements = document.getElementById('pctChange').innerHTML;
console.log('Elemento: '+elements);
if (elements.includes('-')) {
console.log('Achou o sinal negativo');
document.getElementById('pctChange').className = 'redFont';
}else{
document.getElementById('pctChange').className = 'greenFont';
}
}
</script>
<script src="lib/tau/wearable/js/tau.min.js"></script>
<script src="js/app.js"></script>
<script src="js/lowBatteryCheck.js"></script>
<script src="js/circle-helper.js"></script>
<script type="text/javascript" src="jquery-3.4.1.min.js"></script>
</body>
</html>
布尔斯托克
BR股票
开始
加载。。。
函数Clear()
{
document.getElementById('title').innerHTML=“加载…”;
document.getElementById('ticker')。innerHTML='';
document.getElementById('price')。innerHTML='';
document.getElementById('pctChange')。innerHTML='';
}
功能链接(事件){
var元素=event.target;
var ticker_id=element.getAttribute(“ticker_id”);
//用徒步旅行做你想做的事
控制台日志(股票代码);
getPrice(股票代码);
返回;
}
函数getPrice(y){
if(self.fetch){
log(“抓取确定!”)
获取('xxxxxxxxxxxxxx')
.then(response=>response.json())
。然后(数据=>{
日志(“获取…”)
//document.getElementById('title').innerHTML=data[y]['name']
var CompanyName=data[y]['name'];
var CompanyTicker=数据[y]['ticker'];
var lastPrice=编号(数据[y]['lastPrice']);
var pctChange=编号(数据[y]['pctChange']);
pctChange=pctChange.toFixed(2);
document.getElementById('ticker')。innerHTML=CompanyTicker;
document.getElementById('title')。innerHTML=CompanyName;
document.getElementById('price').innerHTML=lastPrice.toLocaleString('pt-BR');
document.getElementById('pctChange')。innerHTML=pctChange.replace('.',',')+'%';
如果(pctChange<0){
console.log('Achou o sinal negative');
document.getElementById('pctChange')。className='redFont';
}否则{
document.getElementById('pctChange')。className='greenFont';
}
});
}否则{
log(“出现了问题…”)
}
}
函数red(){
var elements=document.getElementById('pctChange').innerHTML;
log('Elemento:'+元素);
if(元素.包括('-')){
console.log('Achou o sinal negative');
document.getElementById('pctChange')。className='redFont';
}否则{
document.getElementById('pctChange')。className='greenFont';
}
}
html文件非常简单。多页使用指向id标记的href(在本例中为#两页和#主页)
无论出于何种原因,emulator和real gadget中的返回按钮都不起作用。既不返回上一页,也不退出应用程序。而不是
试一试
(我在您的代码中随机选取了一个示例,您可以将该更改应用于每个“onClick”属性)而不是
试一试
(我在您的代码中随机选取了一个示例,您可以将该更改应用于每个“onClick”属性)我刚刚发现,要使按钮(以及函数tizenwkey)正常工作,您必须设置项目的config.xml文件 我刚才在下面加了一行:
现在,功能和按钮工作正常 我刚刚发现,要使按钮(以及函数tizenhwkey)正常工作,您必须设置项目的config.xml文件 我刚才在下面加了一行:
现在,功能和按钮工作正常 在带有鼠标的可点击设备上,我们使用“点击”事件,在触摸屏上,我认为您应该使用
ontouch
event进行“后退”操作,我会尝试。但是这个装置也不起作用。在带有鼠标的可点击设备上,我们使用带有触摸屏的“点击”事件,我认为您应该使用ontouch
event来执行“返回”操作。我将尝试。但是这个装置也不起作用。用这个小工具真正的物理按钮。
<tizen:setting background-support="disable" encryption="disable" hwkey-event="enable"/>