前言
其实刚开始去写AMP页面,感觉和html页面没什么区别的...,但后面发现是我小瞧了。
在开发过程中踩过许多的坑,然后去百度呢,也找不到相关的答案,因为AMP国内用的挺少的,只有翻墙寻找答案,那时候是真的挺难受的,碰到一个报错都不知道咋回事...
这里我整理一下我遇到的问题,也是做一下笔记,后续也会继续的更新它,感觉,AMP的坑我还没踩完...
发一下AMP的官网,之前我找这个官网都找了好久...哈哈
其实官网里面很多都有介绍,这些报错,官网里面都有说,只不过说的不是报错提醒,而是说限制使用这些语法,刚开始开发,没有注意到这些,然后后面就一直在找报错的原因,所有就导致前面上手难,但搞明白了就简单了。
AMP的问题总结
第一:首先是页面架构,和html有一点点区别
<!doctype html>
<html amp lang="en">
<head>
<meta charset="utf-8">
<script async src="https://cdn.ampproject.org/v0.js"></script>
<title>Hello, AMPs</title>
<link rel="canonical" href="https://amp.dev/zh_cn/documentation/guides-and-tutorials/start/create/basic_markup/">
<meta name="viewport" content="width=device-width">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "NewsArticle",
"headline": "Open-source framework for publishing content",
"datePublished": "2015-10-07T12:02:41Z",
"image": [
"logo.jpg"
]
}
</script>
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
</head>
<body>
<h1>Welcome to the mobile web</h1>
</body>
</html>
以上这些都是html页面转化为AMP页面必须要的
这里有一个特别需要注意的地方,写AMP页面之前一定要装一个插件
在谷歌的扩展程序里面就可以安装,不过好像需要翻墙 (这个特别重要,因为只有装这个这样插件,才能更好的看到这个页面是不是AMP页面,以及是不是符合AMP页面的标准,都可以很清楚的看到)
注意,图标是灰色的,就表示这边网页不是AMP的,如果变红则就是有报错,如果是绿色的,那么这个页面就是符合AMP标准的,如下
第二:页面报错汇总
1.外部链接加载(包括不能使用js,以及所有的js插件或者jq插件)
这里也有一个注意的地方,就是AMP好像是支持了一些js的方法的,不过限制很多,只有很少的部分有支持
上面这个是AMP的写法,有很多的例子,这个你们可以去官网看看具体的操作
一般AMP页面都是搭在后端一起写的,不然就会出来很多限制,比如说,上面的报错,提示不能出现外链,也就是说不能加载外部的css
这样加载都是会报错的!
那么要想写css怎么办呢,两种方法,
第一种,在本页面写,
第二种
用PHP的封装的写法,去加载css,这种是可以的,比如说公共的header和footer页面也是可以这样加载的
2.css报错
上面的报错提示不能使用 !important 属性,一定不要使用 !important,这在AMP中是不支持的
上面的报错提示不能使用以amp-name的形式去进行css命名
这些都是AMP所限制的
3.所有使用AMP的一些组件和方法,都要引用AMP的js
注意,如果你有使用,请加AMP的js,但如果你页面没有使用到这个组件,那么一定要删除掉,不然也会报错
使用AMP框架编写页面会有什么好处呢
第一,就是网站速度加载快了,基本都会控制在700毫秒到800毫秒之间
第二,谷歌网站测试性能指标会上去
这个是我做的amp网页的各项指标
第三,这个AMP框架是谷歌和Twitter开发的一款开源框架(也就是谷歌支持的,可能会利于网站的排名权重)
总结
以上就是本篇文章的全部内容,希望对大家的学习有所帮助,以上就是关于用“AMP”写网页的时候,遇到的一些问题的详细介绍,最后我会继续的去更新它,也希望大家能提出宝贵的意见。