Я использую AMP на уже созданном веб-сайте в Laravel. Я начал с базовых c шагов, я внес следующие изменения в свой файл layout.blade. php (в теге head):
- добавил это сверху:
<!doctype html>
- Включенный усилитель в теге html.
<html amp>
- Включенные скрипты, необходимые для AMP.
<script async src="https://cdn.ampproject.org/v0.js"></script>)
- Добавленный метатег
<meta charset="utf-8">
- Добавлен тег ссылки:
<link rel="canonical" href="{{ url()->current() }}">
- Добавлен метатег:
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
- Добавлен тег стиля
<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>
После этого я заменил все теги изображений на
<amp-img src="/img/logo.svg" alt="logo" width="55" height="32"></amp-img>
Следующая ошибка была CSS, чтобы быстро исправить и сохранить мой CSS только в текущем месте, я включил его таким образом:
<style amp-custom="">
@php include ('css/app.css') @endphp
</style>
И в моем CSS я удалил весь! Важный атрибут, и ошибка CSS была исправлена.
- Следующая ошибка js:
Custom JavaScript is not allowed. (see https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml#html-tags)
Я вижу, что есть различные методы для включения пользовательских JS, но это не работает для меня, так как мой код JS больше указанного размера. Методы, которые я попробовал:
Использование тега amp-script:
<meta name="amp-script-src" content="sha384-MTL2W61Pv6p46ZR8-bKL7vjQ6yWS36CH_bBqhG1eu8DVUD5wVPDCdPiuaCN7mrzW" />
<amp-script width="200" height="50" script="hello-world">
<button>Hello amp-script!</button>
</amp-script>
<script id="hello-world" type="text/plain" target="amp-script">
@php include ('js/app.js') @endphp
</script>
При использовании этого метода у меня возникла одна трудность, связанная с размером JS внутри тега amp-script предопределено, мы не можем его превысить. Вот почему мне пришлось прервать этот метод. Есть ли способ изменить это так, чтобы я не получил эту ошибку?
Следующий метод, который я попробовал, с помощью amp-iframe, с этим я могу включить все JS на моей странице, но при этом я ничего не могу изменить в родительском документе
amp-iframe width = 300 height = 300 sandbox = "allow-scripts" layout = "responseive" frameborder = "0 "src =" js_file_path_with_https ">
Пожалуйста, дайте мне знать, что я должен сделать здесь, чтобы исправить эту ошибку. Или есть какой-либо другой способ включить мой Js?
Примечание: в мой пользовательский файл js включены различные библиотеки: jQuery, Bootstrap, wheelindicator et c. Спасибо