2016-04-15 12 views
1

amp:accessに基づいてAMPの要素を隠して表示すると、ややちらつきが避けられないようです。プレースホルダ以外にも、折り畳みの下に物を置くことは、これをより良くする他の方法がありますか?要求が返るまで実際に身体全体を隠すことは理にかなっているのでしょうか?amp:accessを使用しているときにフリッカーを減らす方法はありますか?

+0

多分あなたの設定で何かを逃したでしょう。この[documentation](https://www.ampproject.org/docs/reference/extended/amp-access.html)に基づいて、 'amp-access'属性は、認証レスポンスに基づいて真または偽になる式を提供しますAuthorizationエンドポイントによって戻されます。 'amp-access'値は、SQLのような言語で定義されたブール式です。遭遇した[エラー](https://www.ampproject.org/docs/reference/extended/amp-access.html#appendix-a-amp-access-expression-grammar)も確認してください。 – abielita

+0

URLを確認すると便利です。私にとっては、コードを見ずに何が起きているのかをイメージするのは難しいです。 –

+0

たとえば、このURLを参照してください。 http://kushaldave.com/ampadbug.html動作は正しいですが、それはちょうど遅れています。当然、RPCに依存しているため、ちらつきが発生します。 –

答えて

4

身体を隠すことは、承認応答の待ち時間が大きく変わる可能性があるため、まったく無頓着です。できるだけ多くを表示し、認証レスポンスが返ってきたときだけ隠すことが推奨されています。だから、あなたは正しいです、折りたたみの上に物事を変更しないでおくことが最善の戦略です。

実際には、フリッカー効果は次のようにしてもう少し抑圧することができます。 1.プレレンダリング。 Google検索などのAMPを使用する主なアプリでは、記事を事前にレンダリングするため、ユーザーが実際にコンテンツを読む前に、事前に承認レスポンスを早期に実行します。これはページ制作者のコントロールではなく、心に留めておくべきことです。 2.承認応答は、特にサブスクライバに対してキャッシュできます。これははるかに早期の評価につながるだろう。

将来的に役立つもう1つのこと - AMPは、amp-access-hide=elideオプションを追加することを検討しています。 https://github.com/ampproject/amphtml/issues/2967で追跡できます。その背後にあるアイデアは、制限されたときに、不明瞭な(判読できない)コンテンツを表示することです。これは、セクション全体を表示するのではなく、単にぼかしを除去するだけなので、フリッカーを減らすことになります。これはまだ議論中の項目です。

また、AMPが非常に限られた時間待ってコンテンツを表示する前に、承認レスポンスがすぐに届く(GitHubにバグを登録してもらいたい)という妥協が可能ですが、非常に限られています。

+0

Googleは常に承認エンドポイントをプリフェッチしますか?ドキュメンテーションはこれを意味するように思われました。 –

+0

@ KushalDaveはい。許可エンドポイントはできるだけ早くフェッチされます。多くの場合、ドキュメントはまだプレレンダリングモードです。 –

関連する問題