• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Google Amp學習筆記

    標簽: html

    學習源網址:https://amp.dev/zh_cn/documentation/courses/
    原文是英文版,且比較長。
    筆記中簡化了一些,記錄我們常用的組件以及一些要點。

    關于 AMP 加速的原因
    1、Inline 的 CSS
    所有的CSS都只能Inline;在本頁內的css不能>75k
    2、禁用了大部分的JS
    在AMP模式下是不能運行JavaScript,也是禁止運行JavaScdript的,所以所有的Script標簽都會報錯。
    3、圖片
    img 標簽全部要改為 amp-img
    4、頁面里是不能有form標簽的,刪除所有的form。

    知識要點

    CSS和AMP:AMP對CSS的使用施加了一些限制:
    1)樣式只能駐留在文檔的頭上。

    <style amp-custom>
        body {
            font-family: sans-serif;
            line-height: 1.5rem;
            padding: 20px;
        }
        p, h2 {
            border: 1px dotted red;
        }
    </style>
    

    構建AMP站點的目標是盡可能使用AMP組件。
    大多數HTML標記可以直接在AMP中使用,但是某些標記,例如標簽,必須用等效的AMP組件替換。

    添加圖片 amp-img

    <amp-img 
    src="https://cdn.glitch.com/d7f46a57-0ca4-4cca-ab0f-69068dec6631%2Fricotta-racer.jpg?1540228217746" 
    width=640” 
    height="480">
    </amp-img>
    

    在這里插入圖片描述

    上面的圖片在頁面中的圖像不會縮小到適合較小的屏幕,它只是溢出到側面。

    <amp-img 
    src="https://cdn.glitch.com/d7f46a57-0ca4-4cca-ab0f-69068dec6631%2Fricotta-racer.jpg?1540228217746" 
    layout="responsive"0
     width="640" 
     height="480">
     </amp-img>
    

    在這里插入圖片描述
    layout類型responsive以便在調整窗口大小時自動縮放。響應布局使圖像假定父容器的尺寸,同時尊重原始的高寬比。如果父容器只有320像素寬,則圖像將保持其縱橫比并被調整為320x240(而不是640x480)

    嵌入視頻:
    在文檔中嵌入一個YouTube視頻,需要2步:
    1)在head里,添加:

    <script async 
    custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js">
    </script>
    

    2)視頻id為BlpMQ7fMCzA.

    <amp-youtube 
    data-videoid="BlpMQ7fMCzA" 
    layout="responsive" 
    width="480" 
    height="270">
    </amp-youtube>
    

    旋轉木馬
    AMP實現組件:
    1)在head里添加:

    <script async 
    custom-element="amp-carousel" 
    src="https://cdn.ampproject.org/v0/amp-carousel-0.1.js">
    </script>
    

    2)在相應的代碼位置中添加:

    <amp-carousel layout="responsive" width="412" height="309" type="slides" loop>
        <amp-img src="https://cdn.glitch.com/d7f46a57-0ca4-4cca-ab0f-69068dec6631%2Fcheddar-chaser.jpg?1540228205366"
                 width="412" height="309" layout="responsive"></amp-img>
        <amp-img src="https://cdn.glitch.com/d7f46a57-0ca4-4cca-ab0f-69068dec6631%2Fcheese.jpg?1540228223785"
                 width="412" height="309" layout="responsive"></amp-img>
        <amp-img src="https://cdn.glitch.com/d7f46a57-0ca4-4cca-ab0f-69068dec6631%2Fmouse.jpg?1540228223963"
                 width="412" height="309" layout="responsive"></amp-img>
    </amp-carousel>
    

    嵌入社交媒體
    在這里插入圖片描述
    1)在head中添加

    <script async 
    custom-element="amp-social-share" 
    src="https://cdn.ampproject.org/v0/amp-social-share-0.1.js">
    </script>
    

    2)在相應的位置添加

    <div class="social-bar">
      <amp-social-share type="email" width="44" height="44"></amp-social-share>
      <amp-social-share type="linkedin" width="44" height="44"></amp-social-share>
      <amp-social-share type="tumblr" width="44" height="44"></amp-social-share>
      <amp-social-share type="twitter" width="44" height="44"></amp-social-share>
    </div>
    
    標簽 AMP開始的時候,它只用于為移動設備創建網頁。一個網頁將有一個AMP版本,用于移動設備,一個版本用普通HTML編寫,用于桌面(稱為“規范”版本)。然后使用標記,這樣搜索引擎就會知道兩個文檔代表相同的網頁。

    因此,非AMP文檔包含指向AMP文檔的鏈接,如下所示:

    <link rel="amphtml" href="https://www.site.com/amp/document.html">
    

    AMP文檔包含一個指向非AMP文檔的鏈接,如下所示:

    <link rel="canonical" href="https://www.site.com/document.html">
    

    現在AMP功能更全面了,除非您需要在桌面頁面上添加其他功能,否則在移動和桌面上使用AMP就更容易了。這樣,你只需要維護一頁而不是兩頁!盡管如此,仍然需要。在這種情況下,只需將頁面鏈接到自身,

    <link rel="canonical" 
    href="https://www.site.com/amp/document.html">
    

    對所有設備使用單一AMP頁面稱為“規范AMP”

    適用于移動設備和桌面設備。由于用戶可能在任何一種設備上體驗您的網頁,所以最好在開發時檢查這兩種設備上的網頁。
    head中要增加

    <meta name="viewport" 
    content="width=device-width,minimum-scale=1,initial-scale=1">
    

    AMP中的延遲加載
    “延遲加載”是指資源(圖像、數據、視頻、腳本等)在需要之前不會加載。當AMP下載資源時,它會優化下載,以便首先下載當前最重要的資源。只有當用戶可能看到圖片和廣告,或者用戶可能快速滾動到圖片和廣告時,才會下載這些圖片和廣告。這些媒體資產的等價物(而不是)之所以稱為“托管資源”,是因為它們是否以及何時加載并顯示給用戶是由AMP決定的。放大器可以在任何時候決定卸載當前用戶不可見的資源。AMP的性能優化之一要求提前宣布他們的身高。這有助于計算布局將如何以更好的方式。例如,這是至關重要的,因為AMP預加載第一個視圖中所需的所有資源,用戶在訪問網站時第一次看到的所有資源。

    版權聲明:本文為orange613原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/orange613/article/details/106844083

    智能推薦

    Tensorflow 實戰 Google 深度學習框架 | 學習筆記(二)

    Shoot on the moon and if you miss you will still be among the stars. Caicloud Github :tensorflow-tutorialhttps://github.com/caicloud/tensorflow-tutorial 原 tutorial 使用的 Tensorflow 最新版本是 1.4.0 ,本人使用的 1....

    google機器學習速成教程學習筆記

    Machine Learning notes 監督式機器學習 線性回歸、訓練和損失 迭代方式降低損失 降低損失 (Reducing Loss):梯度下降法 使用TensorFlow 泛化 訓練集和測試集 驗證集 表示 特征工程 將原始數據映射到特征 良好特征的特點 清理數據 縮放特征值 處理極端離群值 分箱 清查 特征組合 特征組合的種類 組合獨熱矢量 簡化正則化 lambda 邏輯回歸 計算概率...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    猜你喜歡

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    styled-components —— React 中的 CSS 最佳實踐

    https://zhuanlan.zhihu.com/p/29344146 Styled-components 是目前 React 樣式方案中最受關注的一種,它既具備了 css-in-js 的模塊化與參數化優點,又完全使用CSS的書寫習慣,不會引起額外的學習成本。本文是 styled-components 作者之一 Max Stoiber 所寫,首先總結了前端組件化樣式中的最佳實踐原則,然后在此基...

    精品国产乱码久久久久久蜜桃不卡