TVML/TVJS:重新加载后 getActiveDocument() 返回 undefined

问题描述

我有一个 TVML 应用程序,顶部有一个菜单,其中包括一个登录/退出按钮(取决于用户是否登录)。当用户去登出有一个确认消息和一个登出按钮。如果用户点击按钮,则执行以下操作:

localStorage.removeItem("userID");
App.reload();
return;

如果我然后尝试重新登录,我会转到登录屏幕,在那里我有一个表单供用户输入电子邮件和下一步按钮,其中包含以下内容

let keyboard = this._getStringFromTextField();
sessionStorage.setItem("useremail",keyboard.text);

这是 _getStringFromTextField() 函数

_getStringFromTextField() {
    let doc = getActiveDocument();
    let textFields = doc.getElementsByTagName('textField');
    let textField = textFields.item(0);
    return textField.getFeature("Keyboard");
}

问题是 getActiveDocument() 返回 undefined 而不是活动文档。因此,按钮不起作用,我永远无法获得下一个屏幕,即密码表单。

每当我在退出后重新加载应用程序并立即尝试重新登录时,就会发生这种情况。唯一的解决方法是完全关闭应用程序并重新启动它。

关于为什么会发生这种情况的任何见解?重新加载后如何让 getActiveDocument() 工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)