【问题标题】:function is defined but never used函数已定义但从未使用
【发布时间】:2021-04-19 03:32:31
【问题描述】:

我无法重新加载页面。我尝试通过添加此代码在 Vue 中使用 JavaScript

<body onload="myFunction()">

function myFunction() {
   window.location.reload()
}

弹出这个错误:

 74:10  error  'myFunction' is defined but never used  no-unused-vars

有什么建议吗?

【问题讨论】:

  • 我没有看到你的函数包含在脚本标签内
  • 是的,我已将我的函数包含在脚本标签中
  • "eslintConfig""rules" 中添加"no-unused-vars": "off" package.json

标签: javascript html eslint


【解决方案1】:

no-unused-vars 是 ESLint 警告。发生这种情况是因为您没有在 javascript 代码中的任何位置调用您的函数,并且 ESLint 无法读取它是从 HTML 属性调用的。

您可以像这样关闭此警告:

<script>
/* eslint-disable no-unused-vars */
function myFunction() {
  window.location.reload()
}
/* eslint-enable no-unused-vars */
</script>

虽然现在从 HTML 属性调用 javascript 函数并不是一个好的做法。

有一种javascript方式等待加载事件,而不是使用onload属性:

<script>
function myFunction() {
  window.location.reload()
}

document.addEventListener('DOMContentLoaded', myFunction);
</script>

关于页面上的评论仅重新加载一次。您可以在localStorage中保留页面已重新加载的事实:

<script>
function myFunction() {
  // Check that the page has not been reloaded
  if (localStorage.getItem('reloaded') === null) {
    // Save the fact that we are reloading the page, and reload page
    localStorage.setItem('reloaded', true);
    window.location.reload();
  } else {
    // Otherwise, reset the flag so that on the fresh load the page can be reloaded again
    localStorage.removeItem('reloaded');
  }
}

document.addEventListener('DOMContentLoaded', myFunction);
</script>

【讨论】:

  • nina 它一直在无限刷新我的浏览器
  • 我只想刷新一次
  • @JeremyWarren 是的,这就是您的代码所做的,它会在页面加载后重新加载页面。您必须在window.location.reload() 调用中添加某种条件。您希望在什么情况下重新加载页面?
  • 问题是我只想刷新一次浏览器并显示数据并不总是不停地刷新
  • 要重新加载页面一次,您应该以某种方式保留页面已重新加载的事实,在页面状态之外,以避免再次重新加载,因此您可以使用localStorage、url 请求变量或类似的事情。
【解决方案2】:

请为函数或任何 javascript 相关代码使用脚本标签。

<body onload="myFunction()">

<script type='text/javascript' charset='UTF-8'>
     function myFunction() {
          window.location.reload()
     }
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2022-06-20
    • 2020-05-16
    • 2020-03-17
    • 2013-11-14
    • 2020-09-13
    • 1970-01-01
    相关资源
    最近更新 更多