首页 > 解决方案 > JavaScript 在 Tizen Web Widget 中不起作用

问题描述

我正在开发Tizen Web Widget Application。我的 javaScript 文件位于MyProject >> widget >> MyProject >> js >> main.js. 即使我在window.onload()方法中更改元素的文本,它也不起作用。

我也尝试了这个问题的公认答案,但这对我也不起作用。如果我缺少任何其他检查,请有人指导我。

标签: javascriptwidgettizentizen-web-app

解决方案


在编写 Web Widget 时,大多数问题是由于它支持的功能数量有限这一事实引起的。该示例不支持 innerText 和 innerHTML,您可以使用它们“默认”从 javascript 更改 html 的内容。

要更改 HTML 元素的内容,您需要改用textContent。我试图以这种方式重现您的问题:

索引.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <link rel="stylesheet" type="text/css" href="css/style.css">
  <script src="js/main.js"></script>
  <style></style>
</head>

<body>
  <div id="page">
    <div id="container" onclick="changeContent()">
      <span id="content-text">Widget</span>
    </div>
  </div>
</body>
</html>
var changed = true;
window.onload = function() {
  console.log('[window.onload]');
  var box = document.getElementById("content-text");
  box.textContent = "starting content"
};

changeContent = function() {
    var box = document.getElementById("content-text");
    console.log('changeContent: ' + box.textContent)
    box.textContent = changed ? "abcdef" : "xyz";
    changed = !changed;
};

并且代码在 Tizen 模拟器上运行良好。

您可能使用了不受支持的功能。我建议您仔细检查 Web Widget 中不支持的功能,并且不要在您的实现中使用它们。


推荐阅读