问题标签 [google-amp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - DoubleClick AMP 广告未在某些浏览器中显示
我主要在 Chrome 和 FF 中看到这个问题。我正在尝试从 doubleclick 广告平台加载 amp-ad,但广告显示空白广告并且响应标头显示x-xss-protection:1; mode=block
这是我的代码:
该代码确实验证为正确的 amp 代码,并且我已经能够在 Safari 中加载广告。任何帮助,将不胜感激。
asp.net-core-mvc - 在 ASP.NET MVC 中自动切换 AMP 的视图
我想使用 .NET Core 2.0 在 ASP.NET MVC 中创建我的网站的 AMP 版本。以前我曾在 .Net 框架上对实例进行过一些工作DisplayModeProvider
,但这似乎不是 .NET Core 中的一个选项。
我想要做的是将视图名称更改为index.amp.cshtml
而不是index.cshtml
当我的 URL 开始时 iwth /amp
。在 .NET Core 中实现这一目标的最佳方法是什么?
amp-html - 如何在 amp-carousel 中将图像居中?
有amp-carousel
几个amp-img
在这里看到它: https ://codepen.io/jaygray/pen/bLXwax
每个amp-img
都显示在slide
.
这amp-img
是一个SVG。
每个amp-img
都可以在amp-lightbox
(单击图像)中查看。
轮播和灯箱按预期工作。
但我无法amp-img
将slide
.
如何amp-img
居中amp-carousel
slide
?
amp-html - 如何按索引进行 amp-bind
是否可以在 amp-carousel 中的给定索引处添加/删除幻灯片,或在多页流中的给定索引处添加/删除页面,并将幻灯片/页面绑定到选择器?
例如:
In the code below, when a region is selected, the city & city detail from that region should be visible. 如果取消选择区域 1,则属于区域 1 的所有城市都应在“城市”部分和“城市详细信息”部分中隐藏。
此外,如果取消选择某个地区并且从“城市详细信息”部分中删除了一个城市,则“下一个城市”按钮应该仍然能够链接到下一个可用的城市。
到目前为止,我的“地区”部分正在工作(隐藏/显示城市),但我希望能在“城市详细信息”部分提供一些帮助。
accelerated-mobile-page - 即使对于桌面访问者,使用规范的 AMP 也会使其更快吗?
如果您将您的网站或网络资产(应用程序或您想调用的任何内容)转换为完整的 AMP,即不再保留规范版本和单独的 AMP 版本,那么该网站是否会像这种情况一样最终出现在 Google 的快速 CDN 上当你AMP你的常规网站?
我知道https://www.ampproject.org/是规范的 AMP,但他们没有说明这是否使其存储在 Google CDN 中并在从桌面访问时从它提供服务,或者是否确实在提供服务仅来自他们的主机,就像您为 ḿobile 使用单独的放大器时一样。
django - 如何让 Google 地方信息自动完成功能与 AMP 配合使用?
我正在尝试将此主页转换为 AMP:excurj.com。有没有办法在英雄搜索字段中保留自动完成功能?
我看到了这个问题。但是,我需要这两个脚本来使自动完成工作:
这是 autocomplete.js 里面的内容:
amp-html - 我可以在 AMP 中使用 php 代码吗?
我有一个网站。我想为我的网站创建 Google AMP 代码。在我的现有网站和新的谷歌 AMP 网站之间传输数据的最佳方式是什么。我决定为我现有的网站创建一个新域。是好还是坏?
amp-html - 为什么 amp-list 在 src 更改并且新 src 响应为空或为空时显示先前的结果?
我在 amp 网站上工作。
我有一页包含项目列表。对于每个项目,都有一个链接(或按钮)将显示相似的项目。为了显示类似的项目,我使用了 amp-list。
现在的问题是假设我单击一个项目的相似项目链接,它会向我显示相似项目,然后我从相似项目弹出窗口返回列表页面,然后单击一些其他项目相似项目链接和该项目(如果相似)项目不存在,然后类似项目弹出显示前一个项目的类似项目。(放大器列表不改变列表)
我该如何解决这些事情。意味着如果类似的项目不可用,我想显示“未找到类似的项目”消息,如果类似的项目可用,那么想显示该项目。
amp-html - 在 amp-list 中使用 amp-selector
可以在amp-selector
里面使用amp-list
吗?在页面加载时,会呈现项目,但在应用过滤器时,项目不会呈现。
这是数据:
asp.net - ASP.NET:使用文件中的公钥和私钥签署 URL
我想更新 Google AMP 缓存,因此我需要按照此处所述对 URL 进行签名。
我的主要问题:我正在为如何获取证书/密钥以及如何将它们包含在下面的代码中而苦苦挣扎。我只是找不到任何适用于 Windows 和 IIS 的全部说明。
我一直在阅读这些帖子:
我不想使用我的计算机的证书存储,如第二篇文章中所述。我宁愿将磁盘上的文件用于公钥和私钥。从我的生产服务器 IIS 中,我将我的证书导出到一个 .pfx 文件,然后我使用本网站底部的说明从中提取了私钥和证书。server.key 包含-----BEGIN RSA PRIVATE KEY-----
,如果我使用它加载到privateCert
下面代码中的变量中,则会引发错误Cannot find the requested object.
我从我的 SSL 提供商那里得到了什么:、、、
www_example_com.crt
(www_example_com.p7b
见certificate code
下文)。
我采取的步骤:
- 我
test-public-key.cer
通过打开www_example.com.crt
并使用Copy to file
向导将其复制到 base64 编码的 .cer 文件来创建。 certificate code
我将从 SSL 提供商处收到的信息保存为 filetest-private-key.cer
。
当我运行以下代码时出现错误
你调用的对象是空的。
在线的key.FromXmlString(privateCert.PrivateKey.ToXmlString(True))
EncodeTo64 函数
certificate code
-----开始证书-----
MIIF (...) DXuJ
-----结束证书-----
更新 1
按照此页面上的导出步骤,我能够生成一个 mysite.pfx 文件。在向导中,我确保选择“是,导出私钥”并添加了密码。我逐字遵循的其余步骤。
然后我还运行了这些命令:
openssl pkcs12 -in mysite.pfx -nocerts -out private-key-VPS.pem
penssl pkcs12 -in mysite.pfx -clcerts -nokeys -out certificate-VPS.pem
我最终得到了private-key-VPS.pem
一个certificate-VPS.pem
文件
我知道获取 mysite.pfx 的步骤与@CodeFuller 描述的略有不同,但到目前为止这么好?
然后我添加了代码:
但是我得到了4个错误:
GetRSAPrivateKey' 不是 'X509Certificate2' 的成员。
“SignData”不是“RSA”的成员。
'HashAlgorithmName' 未声明。由于其保护级别,它可能无法访问。
未声明“RSASignaturePadding”。由于其保护级别,它可能无法访问。
更新 2
谢谢@CodeFuller!我的目标是框架 4.6.1,现在似乎更进一步。我最终得到一个这样的 URL https://www-mysite-com.cdn.ampproject.org/update-cache/c/s/www.mysite.com/articles/270/newarticle1/amp?amp_action=flush&_ts=1522939248&_url_signature=U30zdGVtLkJ5uGVbRQ==
:. 我现在如何检查它是否是有效的 URL?我正在查看此页面上的“生成 RSA 密钥”部分,但我很困惑,因为我实际上是否已经编写了这些步骤?如何检查我现在最终使用的 URL 是否有效?
更新 3
好的,我尝试了您的新代码。还是得到URL signature verification error
。我尝试使用/amp
我的文章的 URL 和没有/amp
我的 URL 中的部分。两者都会导致相同的 URL 签名验证错误。
我注意到,当我将最终 URL 打印到我的网站时(参见下面的代码),URL 显示为:
https://www-toptrouwen-nl.cdn.ampproject.org/update-cache/c/s/www.toptrouwen.nl/artikelen/132/het-uitwisselen-van-de-trouwringen-hoe-voorkom-je-bloopers/amp?amp_action=flush&_ts=1523094395&_url_signature=U3lzdGVrLkn5dGVbXQ==
请注意,参数应该在哪里amp_ts
和amp_url_signature
,它们现在分别是_ts
和_url_signature
。
在调用 Google 之前,我尝试通过手动重命名参数_ts
和 和来_url_signature
编辑URL 。但我想这会导致签名和实际 URL 之间的差异。难道是我的代码以某种方式破坏了字符,因此当我稍后手动重命名这些字符时,它总是会导致签名验证?你看到我可以在我的代码中修复什么了吗?amp_ts
amp_url_signature
&
顺便说一句:在签署 URL 之前,我尝试在代码隐藏中替换,但随后出现 Google 404 错误&
:%26
请求的 URL /update-cache/c/s/www.toptrouwen.nl/artikelen/132/het-uitwisselen-van-de-trouwringen-hoe-voorkom-je-bloopers/amp?amp_action=flush%26amp_ts=1523094395% 26amp_url_signature=U3lzdGVrLkJ1dGVbXQ== 在此服务器上未找到。我们知道的就这些。
我的代码:
此外,我确信此页面存在于 Google AMP 缓存中,因为我可以在我的移动设备上的 Google 搜索结果中看到并请求它。
更新 4
我想我已经接近了,并且还获得了一些额外的帮助,请参见此处:https ://github.com/ampproject/amphtml/issues/14483#issuecomment-380549060
我现在正在尝试让其他人也更容易测试:我现在运行以下命令来获取公钥和私钥,而不是依赖于我的 SSL
我现在有文件private-key.pem
和public-key.pem
我将重命名public-key.pem
并apikey.pub
放置它https://example.com/.well-known/amphtml/apikey.pub
我想采用@CodeFuller 推荐的最简单的方法并创建一个.pfx
文件,然后我可以将其加载到 type 的变量中X509Certificate2
。当我运行这个命令时:
openssl pkcs12 -export -out keys.pfx -inkey private-key.pem -in public-key.pem
我得到错误:unable to load certificates
但是这次我没有.crt
文件,只有public-key.pem
. 我怎样才能得到一个.pfx
文件?我已经在这里检查过了。