【问题标题】:Handlebars template not rendering info on iOS7 Safari车把模板未在 iOS7 Safari 上呈现信息
【发布时间】:2014-07-22 07:59:13
【问题描述】:

我目前负责一个 Backbone/Handlebars/Coffeescript 网站; m.bachcare.co.nz

该网站似乎运行良好,除了 iOS7 上的一个错误,没有在某个月份的可用性选项卡中显示某些房价。数据没有损坏,日志似乎显示它是从 JSON 中正确解析的。没有其他错误。

那是九月的巴赫伍德:

http://m.bachcare.co.nz/property/2988

Handlebars 中日历的代码是:

<div class="avail-calendar-section">
    <div class="avail-calendar">
    {{log month}}
    {{#calendarDays month currentAvailability currentRates specials selectedDates.start selectedDates.end calendarEnd minDate type}}

        {{#if isStartOfWeek}}
        <div class="avail-calendar-week">
        {{/if}}

            {{log rate}}

            <div class="
                avail-calendar-date
                {{#if currentRates.length}}
                    {{#if_eq rate compare=0}}{{#if isInMonth}}avail-calendar-date-no-rate {{/if}}{{/if_eq}}
                    {{#if isSpecial}}avail-calendar-date-special {{/if}}
                {{/if}}
                {{#if currentAvailability.length}}
                    {{#unless isInPast}}{{#if isInMonth}}{{#if isAvailable}}avail-calendar-date-available {{else}}avail-calendar-date-unavailable {{/if}}{{/if}}{{/unless}}
                {{/if}}
                {{#if isDisabled}}avail-calendar-date-disabled {{/if}}
                {{#if isSelected}}avail-calendar-date-selected {{/if}}
                {{#if isToday}}avail-calendar-date-today {{/if}}
                {{#if isInPast}}avail-calendar-date-past {{/if}}
                {{#if isInFuture}}avail-calendar-date-future {{/if}}
                {{#unless isInMonth}}avail-calendar-date-skirt {{/unless}}"

                data-date="{{formatDate date 'YYYY-MM-DD'}}">
                <div class="avail-calendar-date-value">
                    {{#if isInMonth}}
                        {{#if isToday}}
                            Today
                        {{else}}
                            {{formatDate date 'D'}}
                        {{/if}}
                    {{/if}}
                </div>

                {{#if isInMonth}}
                <div class="avail-calendar-date-rate">
                    {{#if rate}}{{#unless_eq rate compare=0}}
                        $<span class="avail-calendar-date-rate-value">{{rate}}</span>
                    {{/unless_eq}}
                    {{else}}
                        {{#if_eq type compare="checkout"}}
                            {{#if isCheckIn}}
                            <span class="check-in-label">checkin</span>
                            {{/if}}
                        {{/if_eq}}
                        {{#if_eq type compare="checkout"}}
                            {{#if isCheckOut}}
                            <span class="check-out-label">checkout</span>
                            {{/if}}
                        {{/if_eq}}
                    {{/if}}
                </div>
                {{/if}}

            </div>

        {{#if isEndOfWeek}}
        </div>
        {{/if}}
    {{/calendarDays}}
    </div>
</div>

我将发布任何其他请求的代码。

【问题讨论】:

  • 你为什么在 Angular 中使用 Handlebars?我认为你不应该那样做。
  • 现在修复了吗?尝试使用 IOS 7.0.4 和 safari 查看它,但 2014 年 9 月看起来与我在桌面上的 chrome 中查看时相同。
  • @AndyGaskell 那么它可能是 Backbone。我没有建立网站。
  • @Quince 你在看那个特定的属性吗?
  • 等待js房产还是房产?房屋财产我点击了您提供的链接,然后将日期更改为 9 月。 js 属性,我假设它是当天日历中出现的价格。

标签: javascript backbone.js coffeescript handlebars.js


【解决方案1】:

我通过在日期上增加一个小时来解决这个问题。问题是 iOS 及其不处理夏令时。这是一个临时修复,需要在一年中随着 DST 的变化而应用和删除。

发件人:

parse: (resp) ->
    rate : parseFloat(resp.rate)
    date : moment(resp.date, 'YYYY-MM-DD').toDate()

收件人:

   parse: (resp) ->
        rate : parseFloat(resp.rate)
        date : moment(resp.date, 'YYYY-MM-DD').add(1, 'hours').toDate()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多