Spec-Zone.ru › Web APIs

SharedStorageSelectURLOperation

Экспериментально: Это экспериментальная технология
Перед использованием в производстве внимательно проверьте таблицу совместимости с браузерами.

Интерфейс SharedStorageSelectURLOperation API общего хранилища представляет собой операцию выбора URL.

Методы экземпляра

run() Экспериментально

Определяет структуру, которой должен соответствовать метод run() внутри операции выбора URL.

Примеры

В этом примере класс SelectURLOperation определен в модуле worklet и зарегистрирован с помощью SharedStorageWorkletGlobalScope.register() под именем ab-testing. SharedStorageSelectURLOperation определяет структуру, которой должен соответствовать этот класс, по существу определяя параметры, необходимые для метода run(). Помимо этого требования, функциональность класса может быть определена гибко.

// ab-testing-worklet.js
class SelectURLOperation {
  async run(urls, data) {
    // Read the user's experiment group from Shared Storage
    const experimentGroup = await this.sharedStorage.get("ab-testing-group");

    // Return the group number
    return experimentGroup;
  }
}

// Register the operation
register("ab-testing", SelectURLOperation);

Примечание: Можно определить и зарегистрировать несколько операций в одном модуле сценария общего хранилища worklet с различными именами; см. SharedStorageOperation для примера.

В основном контексте просмотра операция ab-testing вызывается с помощью метода WindowSharedStorage.selectURL():

// Randomly assigns a user to a group 0 or 1
function getExperimentGroup() {
  return Math.round(Math.random());
}

async function injectContent() {
  // Register the Shared Storage worklet
  await window.sharedStorage.worklet.addModule("ab-testing-worklet.js");

  // Assign user to a random group (0 or 1) and store it in Shared Storage
  window.sharedStorage.set("ab-testing-group", getExperimentGroup(), {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation
  const fencedFrameConfig = await window.sharedStorage.selectURL(
    "ab-testing",
    [
      { url: `https://your-server.example/content/default-content.html` },
      { url: `https://your-server.example/content/experiment-content-a.html` },
    ],
    {
      resolveToConfig: true,
    },
  );

  // Render the chosen URL into a fenced frame
  document.getElementById("content-slot").config = fencedFrameConfig;
}

injectContent();

Дополнительные сведения об этом примере и ссылки на другие примеры см. на странице документации API общего хранилища.

Спецификации

Спецификация не найдена

Данные спецификации для api.SharedStorageSelectURLOperation не найдены.
Проверьте наличие проблем на этой странице или внесите недостающую spec_url в mdn/browser-compat-data. Также убедитесь, что спецификация включена в w3c/browser-specs.

Совместимость с браузерами

См. также

  • API общего хранилища

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SharedStorageSelectURLOperation

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API