Google AMP amp-autocomplete
Опубликовано: 12 Апреля, 2022

Amp-autocomplete предлагает полные результаты в соответствии с вводом, введенным пользователем при вводе. Это очень распространенная и полезная функция, поскольку она позволяет пользователям быстрее выполнять задачи. Это чрезвычайно полезно, когда пользователь не знает полного диапазона ввода.
Required Scripts: Import the amp-autocomplete component –
HTML
<script async custom-element="amp-autocomplete" src=</script> |
Импортируйте компонент amp-form -
HTML
<script async custom-element="amp-form" src=</script> |
Использование:
- amp-autocomplete должен быть вложен в форму.
- Форма должна содержать поле ввода с тегом ввода или тегом textarea.
- Источник данных должен быть объектом JSON, содержащим элемент свойства массива.
- Источник данных может быть указан с помощью тега дочернего скрипта type = ”application / json” или указан с помощью тега src.
Using child script type=”application/json” –
HTML
<form class="sample-form" method="post" action-xhr= target="_top"> <amp-autocomplete filter="substring"> <input> <script type="application/json"> { "items": ["geeksforgeeks", "gfg", "iamageek" ,"how to become a geek?"] } </script> </amp-autocomplete></form> |
Using src tag –
HTML
<form class="sample-form" method="post" action-xhr= target="_top"> <!--the following src link contains names of cities--> <amp-autocomplete filter="substring" src="/static/samples/json/amp-autocomplete-cities.json"> <input> </amp-autocomplete></form> |
Example 1:
HTML
<!doctype html><html amp> <head> <meta charset="utf-8"> <link rel="canonical" href= <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> <script async custom-element= "amp-autocomplete" src= </script> <script async custom-element= "amp-form" src= </script> <title>Google AMP amp-autocomplete</title> <style amp-custom> :root { --space-1: .5rem; /* 8px */ --space-2: 1rem; /* 16px */ --space-3: 1.5rem; /* 24px */ --space-4: 2rem; /* 32px */ } .sample-form input[type=submit] { -webkit-appearance: none; border: none; background-color: var(--color-primary); color: var(--color-text-light); margin: var(--space-2); font-family: "Poppins", sans-serif; font-weight: 700; line-height: 1.2em; font-size: 1em; padding: 0.75em 1.75em; text-decoration: none; text-align: center; border-radius: 3px; border: none; box-shadow: var(--box-shadow-1); } .sample-form { padding: var(--space-2); } </style> <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> <form class="sample-form" method="post" action-xhr= target="_top"> <amp-autocomplete filter="substring"> <input> <!-- Auto suggestion strings stored in item--> <script type="application/json"> { "items": ["geeksforgeeks", "gfg", "iamageek", "how to become a geek?"] } </script> </amp-autocomplete> </form></body> </html> |
Output

Example 2:
HTML
<!doctype html><html amp> <head> <meta charset="utf-8"> <link rel="canonical" href= <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> <script async custom-element= "amp-autocomplete" src= </script> <script async custom-element= "amp-form" src= </script> <title>Google AMP amp-autocomplete</title> <style amp-custom> :root { --space-1: .5rem; /* 8px */ --space-2: 1rem; /* 16px */ --space-3: 1.5rem; /* 24px */ --space-4: 2rem; /* 32px */ } .sample-form input[type=submit] { -webkit-appearance: none; border: none; background-color: var(--color-primary); color: var(--color-text-light); margin: var(--space-2); font-family: "Poppins", sans-serif; font-weight: 700; line-height: 1.2em; font-size: 1em; padding: 0.75em 1.75em; text-decoration: none; text-align: center; border-radius: 3px; border: none; box-shadow: var(--box-shadow-1); } .sample-form { padding: var(--space-2); } </style> <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> <form class="sample-form" method
РЕКОМЕНДУЕМЫЕ СТАТЬИ |