我正在使用 Ruby on Rails 4。 -- app/views/layouts/application.html.erb 包含:
<!DOCTYPE html>
<html>
<head>
<%= javascript_include_tag "application" %>
</head>
<body>
<canvas id="can"></canvas>
<%= link_to "link to here", "#" %>
<button onclick="task()" >make square</button>
</body>
<script>
function task(){
var c = document.getElementById("can");
var ctx = c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(0,0,c.width,c.height);
}
</script>
</html>
--app/assets/javascripts/application.js 包含:
//= require turbolinks
该程序在我的 Chrome 和 Firefox 工作站上运行良好。但是,在 Safari 中的 ipad 上,当我单击链接时,我无法再通过单击按钮使画布重新出现。当我重新加载页面时,该按钮起作用。如果我删除 application.html.erb 的第 4 行,那么 Safari 的行为就像 Chrome,并且该按钮始终有效。但是,如果没有第 4 行,链接将不再导致框消失。
这是我的第一个 Rails 项目。我在这里完全不知所措,我们将不胜感激任何帮助、见解、线索或建议。先感谢您。--laertiades