推送到Heroku时,简单的Javascript无法正常工作

时间:2013-02-24 18:45:14

标签: javascript heroku

我知道由于asset pipeline compilation problems等原因,有一些关于Javascript无法在Heroku中运行的问题......这是我的头脑。

我只想在我使用Middleman构建的简单应用程序中添加一个简单的链接(见下文),该应用程序应重新加载页面onclick,然后触发shuffle!方法:

<a href="javascript:;" onClick="window.location.reload()">Click to refresh</a>

这甚至可能吗?它在本地工作正常,但当我推送到Heroku时不再有效。任何想法/帮助表示感谢。

以下是Heroku上实际应用的链接:http://coastguard-quiz.herokuapp.com/

我的index.html.erb代码如下:

---
title: Coast Guard Quiz
---

<h1>Coast Guard Rank Quiz</h1>

<h3>Guess the enlisted insignia below:</h3>

<%

seaman_recruit = {
    img: "<img src = 'images/USCG_SR.png'>",
    name: "Seaman Recruit",
    en_class: "Seaman",
}

seaman_apprentice = {
    img: "<img src = 'images/USCG_SA.png'>",
    name: "Seaman Apprentice",
    en_class: "Seaman",
}

seaman = {
    img:  "<img src = 'images/USCG_SM.png'>",
    name: "Seaman",
    en_class: "Seaman",
    abbr: "SN",
    title:"Seaman (last name)",
    paygrade: "E3"
}

ranks = [seaman_recruit, seaman_apprentice, seaman, pettyofficer3, pettyofficer2, pettyofficer1]

current_rank = ranks.shuffle!.first

img_now = current_rank[:img]
name_now = current_rank[:name]
class_now = current_rank[:en_class]
abbr_now = current_rank[:abbr]
title_now = current_rank[:title]
paygrade_now = current_rank[:paygrade]

%>

<div id="container" class="shadow">

    <p><%= img_now %></p>
    <div id="hideaway" style="display:none;">
        <p class="bld"><%= name_now %></p>
        <p><%= class_now %></p>
        <p><%= abbr_now %></p>
        <p><%= title_now %></p>
        <p><%= paygrade_now %></p>
        <a href="javascript:;" onClick="document.getElementById('hideaway').style.display='none'; document.getElementById('showme').style.display='block'">Hide Answer</a>
    </div>

    <div id="showme">
    <a class="show" href="javascript:;" onClick="document.getElementById('hideaway').style.display='block'; document.getElementById('showme').style.display='none';">Get answer</a>
    </div>

</div>

<a href="javascript:;" onClick="window.location.reload()">Click to refresh</a>

1 个答案:

答案 0 :(得分:2)

鉴于字符串有多简单,我不认为这是你问题的根源。资产的缩小更可能搞砸了你的JS,并且在评估代码之前某处存在JS错误导致JS无法工作。

我建议您使用JavaScript开发人员工具(例如Google Chrome JS console)打开该页面,并检查控制台中是否记录了任何错误。


更新:您发布的链接非常适合Google Chrome浏览器。