目前,我正在开发一个LG webOS应用程序(使用Vue.js)。一切都很好,除了当我按下遥控器上的后退按钮时,back事件不会触发。这导致我不得不将函数分配回上一页,返回到另一个按钮(这对用户不友好),而不是普通的返回按钮。
(FYI:我用的是webOS标牌显示器)
我已经阅读了关于历史API和处理back事件(webOS背按钮)的文档,并尝试了以下内容,但我尝试的都没有效果:
disableBackHistoryAPI设置为true in appinfo.json,然后在按后退按钮时手动捕获按键事件(keycode 461);disableBackHistoryAPI中将false设置为appinfo.json,然后为popstate事件添加事件侦听器即使试图捕获后退按钮按下事件(因此捕获键代码461)也不起作用。应用程序识别所有其他键码,但按后退按钮不会做任何事情(不触发任何事件)。有人知道这件事吗?
为了确保问题本身不受应用程序的约束,我安装了以下应用程序后退按钮应用程序。同样的结果:没有back事件。
捕获键事件的代码(记录除461以外的所有密钥代码):
window.addEventListener('keydown', evt => {
evt = evt || window.event
console.log(evt.keyCode)
if (evt.keyCode === 461) {
router.go(-1)
}
})后退按钮正在LG webOS模拟器(v4.0)上注册。如前所述,我使用的框架是Vue.js,我使用科多瓦烤面包将我的项目编译为LG webOS (以及未来的三星Tizen)。
--赏金过期但仍在寻找答案--
发布于 2019-08-27 09:39:31
尝试将此代码添加到index.html的head部分,并将"disableBackHistoryAPI": true添加到appinfo.json中:
<script src="webOSTVjs-1.1.0/webOSTV.js" charset="utf-8"></script>
<script src="webOSTVjs-1.1.0/webOSTV-dev.js" charset="utf-8"></script>
<script type="text/javascript">
window.addEventListener("keydown", function(e) {
console.log("[keyCode] : " + "[" + e.keyCode + "]");
switch (e.keyCode) {
case 461:
console.log("Back key pressed");
webOS.platformBack();
break;
}
});
</script>请记住,ES6是不支持在LG webOS电视。我想您已经知道了,并使用Babel来转换代码。
有关更多信息,请参考这页面。
发布于 2020-05-26 23:18:21
你能使用遥控器上的后退按钮吗?我这里也有同样的问题。
这段代码可以看到其他按钮,除了后退按钮。
window.addEventListener("keydown", function(inEvent){
if(window.event) {
keycode = inEvent.keyCode;
} else if(e.which) {
keycode = inEvent.which;
}
document.getElementById("BtnControle").innerHTML = keycode;
}); 发布于 2020-05-27 15:07:07
在我的appinfo.json中,我添加了以下内容:disableBackHistoryAPI: true;
从这里开始,下面的代码开始工作了:
<script type = "text / javascript">
window.addEventListener ("keydown", function (inEvent) {
if (window.event) {
keycode = inEvent.keyCode;
} else if (e.which) {
keycode = inEvent.which;
}
switch (keycode) {
case 461: history.back (-1); break;
case 38: document.getElementById ("TesteTit"). innerHTML = "up"; break;
case 40: document.getElementById ("TesteTit"). innerHTML = "down"; break;
}
});
</script>如果你能在你的应用上测试它,告诉我它是否有效。
https://stackoverflow.com/questions/57587297
复制相似问题