Некоторые компоненты amp, такие как amp-link-rewriter, принимают конфигурацию json следующим образом:
<amp-link-rewriter layout="nodisplay">
<script type="application/json">
{
"output": "https://visit.foo.net?pid=110&url=${href}&cid=${customerId}",
"section": [
"#product-listing-1",
"#product-listing-2",
],
"attribute": {
"href": "`((?!(https:\/\/skip\.com)).)*`",
"id": "comments",
"class": "sidebar",
"rel": "(?!(skip))*",
},
"vars": {
"customerId": "12345"
}
}
</script>
</amp-link-rewriter>
У меня есть статический сайт, на котором мне нужно предоставить динамическую конфигурацию для этого типа компонента без изменения HTML. самой страницы.
Я пытался использовать атрибут src, например:
<amp-link-rewriter layout="nodisplay">
<script type="application/json" src="https://example.com/foo.json"></script>
</amp-link-rewriter>
, который не работает и в первую очередь не разрешен переписчиком ссылок.
Я также попытался загрузить весь компонент в сценарии amp, но, похоже, это тоже не сработало. Я сомневаюсь, что это сработает, учитывая, что компоненты усилителя, вероятно, все загружены и обработаны в начале выполнения или что-то в этом роде. Я не очень старался, поэтому, если это действительно жизнеспособное решение, дайте мне знать.
Я знаю, что этот вид идет вразрез с философией amp («предсказуемая производительность») amp, но это было быприятно иметь решение для такой ситуации, так как я не могу себе представить, что это слишком необычно. Может быть, что-то вроде дополнительных «кэшированных ресурсов», которые можно указывать для каждого сайта и иногда обновлять отдельно от самих кэшированных страниц усилителя.
Любые предложения или альтернативы для рассмотрения очень приветствуются! Спасибо!