JavaScript window.onload 仅在刷新后触发

问题描述

我正在我的 Ruby on Rails 网站上处理一个名为 TChess 的页面。该页面是通过链接从我在索引页面上的导航栏访问的。

我在 TChess 页面的 window.onload 函数中控制台.log 一个字符串,但 window.onload 函数似乎没有在第一次加载时运行(即在我转到 localhost 并单击主页上的导航栏)。重新加载后,onload 函数确实运行(并打印)。

onload 方法最初没有运行是不是有什么原因?

下面的代码,因为我知道我会被问到:

国际象棋 HTML:

<% @tactic = generate_tactic(@tactic_model) %>
<div id="tactic_info" data-fen="<%= @tactic[0] %>"
     data-solution="<%= @tactic[1] %>"></div>
<button id="tactic_generator">Generate Tactic</button>

TChess JS:

let dataTactic,tg;
let fen,solution;

window.onload = function() {
    dataTactic = document.getElementById("tactic_info").dataset;
    fen = dataTactic.fen;
    solution = dataTactic.solution;
    console.log(fen)

    tg = document.getElementById("tactic_generator");
    tg.onclick = function c() {
        fen_reader(fen)
    };
};

索引链接

<li><%= link_to "TChess","/apps/tchess" %></li>

解决方法

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

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

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