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
РЕКОМЕНДУЕМЫЕ СТАТЬИ |