1

Gruntjs プラグイン contrib-ember-templates を使用すると、モバイル ブラウザーで表示すると正しくない結果が生成されます。

生成されたテンプレート

<div id="ember570" class="ember-view">
<section>
    <div class="center">
        <div class="logo-container">
        </div>
        <div class="misuseAct">
            <script id="metamorph-0-start" type="text/x-placeholder"></S'+'CRIPT>
                <h1>Hello to Splash Page</h1>
                <p>Welcome to my splash page</p>
                <a href="#" data-ember-action="1" class="btn btn-success right" id="proceed">Proceed</a>
            <script id='metamorph-0-end' type='text/x-placeholder'></S'+'CRIPT>
        </div>
    </div>
</section></script></div></div></section></div>

ただし、ライブ デバッグを介してテンプレートを編集すると、望ましい結果が得られます。

希望のテンプレート

<div id="ember570" class="ember-view">
<section>
    <div class="center">
        <div class="logo-container">
        </div>
        <div class="misuseAct">
            <script id="metamorph-0-start" type="text/x-placeholder"></script>
                <h1>Hello to Splash Page</h1>
                <p>Welcome to my splash page</p>
                <a href="#" data-ember-action="1" class="btn btn-success right" id="proceed">Proceed</a>
            <script id='metamorph-0-end' type='text/x-placeholder'></script>
        </div>
    </div>
</section></div></div></section></div>

追加情報

  • この問題は、縮小された EmberJS (リリース ビルド) を使用している場合にのみ発生します。

  • この問題は、デスクトップ ブラウザーでは発生しません。

  • この問題は、コンソール メッセージを生成しません。

  • grunt --verbose を実行しても、エラー/警告メッセージは表示されません。

技術スタック

NodeJS - v0.10.12

うなり声-cli v0.1.9

うなり声 v0.4.1

grunt-contrib-templates - 0.4.10

JQuery - v1.10.2

これらは、contrib-grunt-template とフロントエンド クライアント アプリケーションによって使用されます。

EmberJS - v1.0.0-rc.6-15-gfe89337 (縮小版)

ハンドルバー - 1.0.0

編集:

この問題は、ビューがテンプレートで使用されている場合にのみ発生します。

コンパイルされていないテンプレート

<section>
    <div class="center">
        <div class="logo-container">
        </div>
        <div class="misuse">
            {{#if view.showProtection}}
                <h1>{{localise _data_protection_act_header}}</h1>
                <p>{{localise _data_protection_act_body}}</p>
                {{#linkTo "login" classNames="btn btn-success right" id="proceed"}}{{localise _proceed}}{{/linkTo}}
            {{else}}
                <h1>{{localise _misuse_act_header}}</h1>
                <p>{{localise _misuse_act_body}}</p>
                <a href="#" {{action 'agrees' target="view"}} class="btn btn-success right" id="proceed">{{localise _proceed}}</a>
            {{/if}}
        </div>
    </div>
</section>

インデックス ビュー

Application.IndexView = Ember.View.extend({
    showProtection: false,
    agrees: function () {
        this.set('showProtection', true);
    }
});

編集:

これを、特にテンプレートのこの行に絞り込みました。

 {{#if view.showProtection}}
    ...
 {{else}}
    ...
 {{/if}}
4

1 に答える 1

1

この問題は、モバイル データ プロバイダー O2 に関連していました (他のプロバイダーの可能性もありますが、Vodafone や 3 ではありません)。

これは、O2 のかなり厳格なデータ ポリシーが原因であると思われます。O2 は、ネットワークを通過するファイルに対して、あらゆる種類のクレイジーなことを縮小、削除、および実行します。

回避策はこちらで提供されています

于 2013-07-17T09:21:58.307 に答える