当前位置: 首页 > 知识库问答 >
问题:

Tizen TAU Change Page-Javascript和其他选项,如在页面更改后加载不工作(可穿戴V5.5)

唐默
2023-03-14

我有一个项目,有几个不同的超文本标记语言页面。如果我用tau.changePage('second.html')切换页面;按钮和其他东西找不到在同一个html文档上声明的函数。但是可以从其他文件调用javascript函数,或者在index.html.上定义

我已经尝试了主项目和一个空项目,它只包括两个网站,每边都有一个按钮。见下文。我必须手动设置新的html网站上的焦点吗?函数test()获取以下错误:

file:///second.html (1) :未捕获引用错误:未定义测试

<head>
    <meta name="viewport" content="width=device-width,user-scalable=no">
    <title>Basic</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 class="ui-header">
            <h2 class="ui-title">TAU Basic</h2>
        </header>
        <div class="ui-content ui-content-padding">
            <p>Hello! </p>
            <button class="ui-btn" id="btn" onclick="changepage()">Next</button>
        </div>
    </div>
    <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 src="./lib/tau/mobile/js/tau.js" type="text/javascript"></script> -->
    <script>
    function changepage()
    {
        tau.changePage('second.html');
    };
    </script>
</body>



<head>
    <meta name="viewport" content="width=device-width,user-scalable=no">
    <title>Basic2</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="second">
        <header class="ui-header">
            <h2 class="ui-title">TAU Basic</h2>
        </header>
        <div class="ui-content ui-content-padding">
            <p>Hello! </p>
            <button class="ui-btn" id="btn" onclick="test()">Test</button>
        </div>
    </div>
    <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 src="./lib/tau/mobile/js/tau.js" type="text/javascript"></script> -->
    <script>
    function test()
    {
        console.log("test");
    };
    </script>

共有1个答案

翁宏茂
2023-03-14

这里的问题似乎是函数定义和函数调用的顺序。在onclick事件侦听器中,您引用了稍后定义的函数,因此收到ReferenceError。

通常更好的做法是将超文本标记语言、CSS和JavaScript彼此分离到自己的文件中,并将它们链接在一起。当然,非常简单的例子可能是这种做法的例外。

话虽如此,您应该避免在标记中使用事件侦听器,而是在JavaScript文件中使用事件侦听器。请参阅此页,以便回答此主题。

我想你的app.js支持你的逻辑。您可以将测试函数提取到该文件中,并像这样执行:

const nextButton = document.getElementById("btn");
nextButton.addEventListener("click", () => {
    test();
});

function test() {
    console.log("test");
}

当您更改页面时,您现在应该在控制台中看到“测试”?

顺致敬意,

 类似资料:
  • 物联网是智能穿戴设备的核心技术,智能穿戴设备是物联网的关键载体。两者的结合,实现更加丰富灵活的应用功能。 我们能够提供: 最广泛的网络覆盖面; 灵活的计费方式,降低运营费用; 综合的管理平台和多种应用,支持灵活的业务运营; 稳定,快捷的通信服务。

  • 在页面加载时,我运行这个函数将长引用文章隐藏到可点击的链接中,以防止在我的站点上出现大量评论: 问题是,当我通过Ajax/load重新加载“.comments”时,上面的函数不再起作用: 不确定为什么它不起作用,因为函数是在加载函数的已完成的回调部分中调用的?

  • 需求: vue工程A中打开弹窗,内容为独立的验证码。 目的: 这个验证码业务不随工程A迭代升级,而是独立存在的。 1或 单独部署在某个云服务器上; 2或 与A工程一起部署,但与A工程完全0耦合。 问题: 能否将验证码业务独立成插件,在vue项目中import进来? 打包的时候,单独存在于dist中某个独立文件夹? 如何操作,请高手指点,十分感谢~!

  • 关键是,在元素出现之前,Wait不会等待30秒。代码只是抛出一个异常: 任何帮助都将不胜感激!

  • 问题内容: 在Facebook页面中浏览时,页面加载之间的页眉和页脚固定部分仍然可见,并且地址栏中的URL也会相应更改。至少,这就是我的错觉。 从技术上来讲,Facebook如何实现这一目标? 问题答案: 有关样式的设置,请参考Mark Brittingham的答案,尽管我认为这不是您要的。我将为您提供有关其工作原理的技术细节(以及为何如此出色)。 将鼠标悬停在标题中的“个人资料”链接上时,请查看

  • 在Optional while Optional.orElse方法被调用时,无论元素是否存在,都不执行orElse部分,它的行为不像if else条件那样。 在下面的代码中,如果您在案例1中看到getNullPoJo和getDefaultPoJo都被执行,因为getNullPoJo将返回空的可选的 当前输出为: 正在执行getNullPoJo 执行getDefaultPoJo pojo1获得默认值