我在我的常规网页和本网站上的Google AMP项目网页上使用相同的HTML :http://www.tribunadabahia.com.br/
我按照Github上的说明进行操作,但我不确定使用相同的HTML是否是最佳做法.
我已经在我的nginx服务器上安装了mod_pagespeed,我喜欢它.
最近,我在我的网站上安装了AMP帖子,所有固定链接现在都/amp/在URL的末尾.
问题是mod_pagespeed(此时)不支持AMP标记,因此控制台显示一些错误.但是当我?PageSpeed=off在放大器URL的末尾插入时,AMP会被验证.
所以,我想,如果可能的话,只为所有在末尾都有/ amp /的网址停用mod_pagespeed.
永久链接结构是: https://www.example.com/postname/
AMP的永久链接结构是: https://www.example.com/postname/amp/
因此,mod_pagespeed应该只适用于第一个永久链接结构.
我试图将其放入mod_pagespeed的代码如下:
pagespeed Disallow “https://*example.com/*/amp/*”;
Run Code Online (Sandbox Code Playgroud)
它不会被模块拒绝,但它不会关闭AMP帖子上的pagespeed模块.你能帮我解决这个问题吗?
提前谢谢了.
AMP验证器说"除了特定形式外,不允许使用标签'脚本'."
现在我知道这个标签'script'是由newrelic_rpm自动创建的.
我的问题是如何在AMP页面上禁用newrelic_rpm.
我的AMP页面的URL就像http://example.com/foo/bar.amp.
所以我尝试了这样的设置config/newrelic.yml:
common: &default_settings
license_key: foobarfoobarfoobarfoobar
app_name: Foobar
rules.ignore_url_regexes: ["amp", ".*amp"]
development:
<<: *default_settings
app_name: FooBar (Development)
developer_mode: true
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我的项目环境:
所以,我已经用AMP HTML编写了一个页面,当有人在移动设备上查看页面时,我想隐藏一个DIV,但是我希望它显示在桌面或平板电脑等分辨率上.我启用了Bootstrap,并且根据AMP标准,所有CSS都在文档中设置样式.
<section class="about" id="about" alt="about">
<div class="col-md-6">
<p>Example Content</p>
</div>
<div class="col-md-6">
<amp-img src="example.jpg" alt="Example" height="400" width="800"></amp-img>
</div>
</section>
Run Code Online (Sandbox Code Playgroud)
我希望该部分中的第二个DIV隐藏在Mobile上.
我已将AMP添加到我的项目中,并尝试http在表单操作中找出协议的验证问题.在官方示例中,我可以看到可以使用相对URL:https://github.com/ampproject/amphtml/blob/master/examples/forms.amp.html
1)当我尝试使用相对URL时,它变得无效
不允许标记'form'中属性'action'的相对URL'/ amp/someurl'.
2)当我尝试使用绝对URL时,它会抱怨协议
标记"表单"中属性"操作"的URL协议"http:"无效.
当我使用https而不是时,最后一个错误消失了http.但问题是该网站没有,https并且该表单仅用于搜索.
也许我必须用一些<amp-iframe>才能解决它?
我构建了一个基于插件https://wordpress.org/plugins/amp/的插件,我想检查用户在AMP帖子或页面上的状态.
什么是允许我们在WordPress中检查AMP端点的功能?
我正在尝试使用放大器实验进行a/b测试.
.html文件:
<amp-experiment>
<script type="application/json">
{
"a-experiment": {
"variants": {
"control": 50,
"1": 50
}
}
}
</script>
</amp-experiment>
<h3 class="a-experiment control">Sample control offer</h3>
<h3 class="a-experiment variant">Sample variant offer</h3>
Run Code Online (Sandbox Code Playgroud)
.scss文件:
body .control {
display: block;
}
body {
&[amp-x-a-experiment="control"] .variant {
display: none;
}
&[amp-x-a-experiment="1"] .control {
display: none;
}
}
Run Code Online (Sandbox Code Playgroud)
除非用户启用了uBlock Origin,否则它可以正常工作.这里有两个问题:
有2个错误消息:
即时错误消息: GET https://cdn.ampproject.org/v0/amp-analytics-0.1.js net::ERR_BLOCKED_BY_CLIENT
页面加载后错误消息: Render timeout waiting for service variant to be ready.???
如果我删除放大器实验,uBlock没有问题.
还有其他人遇到过这个问题吗?有工作吗?
我正在尝试使用Google的Amp制作网站的新移动版本。他们在官方网站上列出了其用法示例。我复制并粘贴从代码这里,并在这里创造:
<!doctype html>
<html amp lang="en">
<head>
<meta charset="utf-8">
<script async src="https://cdn.ampproject.org/v0.js"></script>
<script async custom-element="amp-sidebar" src="https://cdn.ampproject.org/v0/amp-sidebar-0.1.js"></script>
<title>Hello, AMPs</title>
<link rel="canonical" href="http://example.ampproject.org/article-metadata.html" />
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<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 …Run Code Online (Sandbox Code Playgroud) amp-story与amp-access(或amp-subscription)一起使用吗?
这是放大器访问的示例代码
<script id="amp-access" type="application/json">
{
"authorization": "https://ampbyexample.com/components/amp-access/authorization?rid=READER_ID&url=CANONICAL_URL&ref=DOCUMENT_REFERRER&_=RANDOM",
"pingback": "https://ampbyexample.com/components/amp-access/authorization?rid=READER_ID&url=CANONICAL_URL&ref=DOCUMENT_REFERRER&_=RANDOM",
"login": {
"sign-in": "https://ampbyexample.com/components/amp-access/login?rid=READER_ID&url=CANONICAL_URL",
"sign-out": "https://ampbyexample.com/components/amp-access/logout"
},
"authorizationFallbackResponse": {
"error": true,
"access": false,
"subscriber": false
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
所需的设置
<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
<script async custom-element="amp-access" src="https://cdn.ampproject.org/v0/amp-access-0.1.js"></script>
Run Code Online (Sandbox Code Playgroud)
参考资料
我想知道如何根据用户选择并将其设置为的选项获取文本内容amp-state。例如,如果用户选择“红色”选项。我想将“胭脂”设置为amp-state“红色”。我知道我可以value通过setState函数中的event.targetOption 获取。但是,找不到如何获取文本并将其设置为amp-state。
<amp-state id="selectedColor">
<script type="application/json">
{
"value": ""
}
</script>
</amp-state>
<p>Selected Color <span [text]="selectedColor.value"></span></p>
<amp-selector
layout="container"
on="select:AMP.setState({
selectedColor: {
value: event.targetOption
}
})">
<div option="red">rouge</div> <!-- user select this -->
<div option="blue">bleu</div>
<div option="green">vert</div>
</amp-selector>
Run Code Online (Sandbox Code Playgroud)
我的预期输出如下
<p>Selected Color <span>rouge</span></p>
Run Code Online (Sandbox Code Playgroud)
不
<p>Selected Color <span>red</span></p>
Run Code Online (Sandbox Code Playgroud) amp-html ×10
html ×2
amp-access ×1
amp-bind ×1
amp-story ×1
css ×1
forms ×1
newrelic ×1
nginx ×1
pagespeed ×1
permalinks ×1
validation ×1
wordpress ×1