Do you build things with AMP? Fill out the AMP Developer Survey!
AMP

amp-o2-player

Description

Displays an AOL O2Player.

Required Scripts

<script async custom-element="amp-o2-player" src="https://cdn.ampproject.org/v0/amp-o2-player-0.1.js"></script>

Ví dụ

Example

The width and height attributes determine the aspect ratio of the player embedded in responsive layouts.

Example:

<amp-o2-player
  data-pid="12345"
  data-bcid="5678"
  data-bid="54321"
  data-vid="98765"
  layout="responsive"
  width="480"
  height="270"
>
</amp-o2-player>

Attributes

data-pid (required) The Player ID for the O2Player.
data-bcid (required) The Buyer Company ID (bcid) for the O2Player.
data-bid The Playlist ID (bid) for the O2Player.
data-vid The Video ID (vid) for the O2Player.
data-macros The macros for the O2Player.
common attributes This element includes common attributes extended to AMP components.

Validation

See amp-o2-player rules in the AMP validator specification.

The following lists validation errors specific to the amp-o2-player tag:

Validation Error Description
The 'example1' tag is missing or incorrect, but required by 'example2'. Error thrown when required amp-o2-player extension .js script tag is missing or incorrect.
The implied layout 'example1' is not supported by tag 'example2'. Error thrown when implied layout is set to CONTAINER; this layout type isn't supported.
The specified layout 'example1' is not supported by tag 'example2'. Error thrown when specified layout is set to CONTAINER; this layout type isn't supported.
The property 'example1' in attribute 'example2' in tag 'example3' is set to 'example4', which is invalid. Error thrown when invalid value is given for attributes height or width. For example, height=auto triggers this error for all supported layout types, with the exception of NODISPLAY.

Iframe inside amp-o2-player can send a message to receive consent data if a CMP is present on amp-o2-player parents page.

Example request for consent data from iframe:

window.parent.postMessage(
  {
    sentinel: 'amp',
    type: 'send-consent-data',
  },
  '*'
);

Example receive response for consent data:

function isAmpMessage(event, type) {
  return (
    event.source == window.parent &&
    event.origin != window.location.origin &&
    event.data &&
    event.data.sentinel == 'amp' &&
    event.data.type == type
  );
}

window.addEventListener('message', function (event) {
  if (!isAmpMessage(event, 'consent-data')) {
    return;
  }
  console.log(event.data.consentData);
});
Bạn cần được trợ giúp thêm?

Bạn đã đọc tài liệu này hàng chục lần, nhưng nó không thật sự trả lời mọi thắc mắc của bạn? Có lẽ những người khác cũng cảm thấy như vậy: hãy liên hệ với họ trên Stack Overflow.

Truy cập Stack Overflow
Bạn tìm thấy một lỗi hoặc cần bổ sung một tính năng?

Dự án AMP đặc biệt khuyến khích sự tham gia và đóng góp của bạn! Chúng tôi hi vọng bạn sẽ trở thành một người tham gia tích cực trong cộng đồng mã nguồn mở của chúng tôi, nhưng chúng tôi cũng chào mừng các đóng góp đơn lẻ về vấn đề mà bạn đặc biệt quan tâm.

Truy cập GitHub