Я создаю веб-приложение Google Script и пытаюсь получить списки данных, работающих в Safari для Mac и, в основном, для устройств IOS.приведенный ниже код работает для небольшого списка данных, однако у меня есть более 30000 записей списка данных, которые я хочу показать.Цель списка данных - показать соответствующие записи при вводе идентификационного номера запаса.например, если набрать «B», то получится синий и черный, или «ue» покажет синий.код отлично работает для небольшого списка, но когда я вхожу во все 30000 предметов инвентаря, он падает на моем устройстве ios и загружается на Mac Safari вечно.Я считаю, что это связано с тем, что код должен «преобразовывать» каждый элемент во что-то еще.Мой мыслительный процесс таков: если бы я знал, во что он конвертирует элемент, я мог бы просто установить объекты списка данных в качестве объекта с самого начала.Когда я использую это приложение на Android или компьютере с Windows, предметы инвентаря 30000 появляются мгновенно.;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Color Datalist</title>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
</head>
<body>
<input type="text" name="color" id="color" value="" list="colorlist" />
<datalist id="colorlist">
<select style="display: none;">
<option value="Black" />
<option value="Blue" />
<option value="Dark Green" />
<option value="Grey" />
<option value="Green" />
<option value="Red" />
<option value="White" />
<option value="Yellow" />
</select>
</datalist>
<script>
$window.load(function () {
var nativedatalist = !!('list' in document.createElement('input')) &&
!!(document.createElement('datalist') && window.HTMLDataListElement);
if (!nativedatalist) {
$('input[list]').each(function () {
var availableTags = $('#' + $(this).attr("list")).find('option').map(function () {
return this.value;
}).get();
$(this).autocomplete({ source: availableTags });
});
}
});
</script>
</body>
</html>