Rails JavaScript仅在您刷新页面时加载,而不在原始页面加载时加载,这是怎么回事?

增长码

该代码在刷新页面时有效,但在原始加载时不起作用。

我正在建立Pinterest克隆。Rails应用4.1.4。

应该发生什么

当您从索引页面单击大头针时,它将进入“显示”页面。
SHOW页面有一些JavaScript可以调整图片/ DIV的大小

问题:

几乎每次我从索引页面单击大头针时,javascript都不会运行(不调整图像大小/ div)。

但是,如果我使用Web浏览器单击REFRESH,则脚本似乎总是可以正常运行(图像/ Div get的大小调整就可以了)。

链接到github上的js: https : //github.com/growthcode/pinterest/blob/master/app/assets/javascripts/pins.js.coffee

在Heroku上可以尝试一下: https : //growthcode-pinterest.herokuapp.com/

SHOW引脚的html:

<div class="container">
  <div class="row">
    <div id="showPinContainer" class="col-xs-12">
      <div id="showPin" class="well">
        <%= image_tag @pin.image, class: "show-image" %>
        <p class="description"><%= @pin.description %></p>
        <p><%= @pin.user.name %></p>
        <% if current_user == @pin.user %>
        <%= link_to 'Edit', edit_pin_path(@pin) %> |
        <% end %>
        <%= link_to 'Back', pins_path %>
      </div>
    </div>
  </div>
</div>

我在rails上的coffee脚本中编写了此代码,我将同时列出coffee脚本和它的'Js2coffee'转换。

咖啡脚本:

# Pin Show page
$ ->
  # set jQuery object variables
  $windowObj = $(window)
  $showPinContainer = $("#showPinContainer")
  $showPin = $("#showPin")
  $showPinImg = $("#showPin img")
  $showPinHeight = $("#showPin").outerHeight()
  $showPinImgWidth = $showPinImg.outerWidth()

  setShowPinContainerHeight = ->
    if $showPinHeight > 450
      $showPinContainer.outerHeight( $showPinHeight )
    else
      $showPinContainer.outerHeight( 450 )

  setShowPinContainerWidth = ->
    if $showPinImgWidth < 200
      $showPinImg.outerWidth( 200 )
    else if $showPinImgWidth > 300 
      $showPinImg.outerWidth( 300 )

  setShowPinContainerSize = ->
    setShowPinContainerHeight()
    setShowPinContainerWidth()

  setShowPinContainerSize()

上述咖啡脚本的Js2coffee.com转换:

$(function() {
  var $showPin, $showPinContainer, $showPinHeight, $showPinImg, $showPinImgWidth, $windowObj, setShowPinContainerHeight, setShowPinContainerSize, setShowPinContainerWidth;

  $windowObj = $(window);
  $showPinContainer = $("#showPinContainer");
  $showPin = $("#showPin");
  $showPinImg = $("#showPin img");
  $showPinHeight = $("#showPin").outerHeight();
  $showPinImgWidth = $showPinImg.outerWidth();

  setShowPinContainerHeight = function() {
    if ($showPinHeight > 450) {
      return $showPinContainer.outerHeight($showPinHeight);
    } else {
      return $showPinContainer.outerHeight(450);
    }
  };

  setShowPinContainerWidth = function() {
    if ($showPinImgWidth < 200) {
      return $showPinImg.outerWidth(200);
    } else if ($showPinImgWidth > 300) {
      return $showPinImg.outerWidth(300);
    }
  };

  setShowPinContainerSize = function() {
    setShowPinContainerHeight();
    return setShowPinContainerWidth();
  };

  return setShowPinContainerSize();
});

这是我关于堆栈溢出的第一个问题,因此,如果我能提供其他任何有帮助的信息,请告诉我。谢谢!

s

尝试禁用Turbolinks。有关更多信息,请参见Turbolinks上的《Rails指南》文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Ruby on Rails会话过期后如何重新加载或刷新页面

来自分类Dev

Coffeescript仅在页面重新加载时触发-Rails 4

来自分类Dev

Ruby on Rails:页面为link_to后,表单提交无响应,直接加载或刷新页面后工作正常

来自分类Dev

Rails仅在页面重新加载后才加载我的JavaScript

来自分类Dev

Rails:页面加载时加载js.erb文件

来自分类Dev

jQuery:刷新当前页面时加载新页面

来自分类Dev

刷新页面时,rails ajax覆盖所有部分

来自分类Dev

该功能仅在刷新页面时执行,而不是在首次加载时执行

来自分类Dev

每次刷新页面时如何加载用户?

来自分类Dev

用户刷新页面时加载不同的视频背景

来自分类Dev

HATEOAS - 刷新页面时加载资源

来自分类Dev

刷新页面时如何重新加载mysql表

来自分类Dev

Rails link_to在页面加载时生成错误

来自分类Dev

Rails + jQuery:JS函数在页面加载时自动保持运行

来自分类Dev

Rails + jQuery:JS函数在页面加载时自动保持运行

来自分类Dev

单击提交按钮时未重新加载Ruby on Rails页面

来自分类Dev

单击Rails中的ruby路径时出现页面加载问题

来自分类Dev

Rails link_to在页面加载时生成错误

来自分类Dev

Rails 5 在页面加载时随机播放资源属性

来自分类Dev

加载新页面时保留内容

来自分类Dev

toggleClass在新页面加载时删除

来自分类Dev

Ruby on Rails页面最初是空白的,但刷新后可以正确加载

来自分类Dev

Ruby on Rails是默认刷新页面还是使用Ajax?

来自分类Dev

Ruby on Rails如何使不刷新页面的网站

来自分类Dev

Rails:刷新页面后未定义 jQuery

来自分类Dev

使用 CarrierWave on Rails 上传文件后刷新页面

来自分类Dev

在Rails alchemy-cms中创建新页面时无法选择页面布局

来自分类Dev

ruby on rails 4 / jquery / javascript:按钮仅在页面重新加载后有效

来自分类Dev

TinyMCE仅在页面刷新时加载

Related 相关文章

  1. 1

    使用Ruby on Rails会话过期后如何重新加载或刷新页面

  2. 2

    Coffeescript仅在页面重新加载时触发-Rails 4

  3. 3

    Ruby on Rails:页面为link_to后,表单提交无响应,直接加载或刷新页面后工作正常

  4. 4

    Rails仅在页面重新加载后才加载我的JavaScript

  5. 5

    Rails:页面加载时加载js.erb文件

  6. 6

    jQuery:刷新当前页面时加载新页面

  7. 7

    刷新页面时,rails ajax覆盖所有部分

  8. 8

    该功能仅在刷新页面时执行,而不是在首次加载时执行

  9. 9

    每次刷新页面时如何加载用户?

  10. 10

    用户刷新页面时加载不同的视频背景

  11. 11

    HATEOAS - 刷新页面时加载资源

  12. 12

    刷新页面时如何重新加载mysql表

  13. 13

    Rails link_to在页面加载时生成错误

  14. 14

    Rails + jQuery:JS函数在页面加载时自动保持运行

  15. 15

    Rails + jQuery:JS函数在页面加载时自动保持运行

  16. 16

    单击提交按钮时未重新加载Ruby on Rails页面

  17. 17

    单击Rails中的ruby路径时出现页面加载问题

  18. 18

    Rails link_to在页面加载时生成错误

  19. 19

    Rails 5 在页面加载时随机播放资源属性

  20. 20

    加载新页面时保留内容

  21. 21

    toggleClass在新页面加载时删除

  22. 22

    Ruby on Rails页面最初是空白的,但刷新后可以正确加载

  23. 23

    Ruby on Rails是默认刷新页面还是使用Ajax?

  24. 24

    Ruby on Rails如何使不刷新页面的网站

  25. 25

    Rails:刷新页面后未定义 jQuery

  26. 26

    使用 CarrierWave on Rails 上传文件后刷新页面

  27. 27

    在Rails alchemy-cms中创建新页面时无法选择页面布局

  28. 28

    ruby on rails 4 / jquery / javascript:按钮仅在页面重新加载后有效

  29. 29

    TinyMCE仅在页面刷新时加载

热门标签

归档