gpt4 book ai didi

amp-html - 您可以使用 AMP 检测 iPhone 与 Android 吗?

转载 作者:行者123 更新时间:2023-12-02 19:43:30 24 4
gpt4 key购买 nike

假设我有一个 APPLE PODCASTS 按钮和一个 GOOGLE PODCASTS 按钮,我想显示:

  • 向 iPhone 用户提供 APPLE 播客
  • 面向 Android 用户的 GOOGLE 播客
  • 桌面用户均适用

我目前正在通过 AMP 使用 <amp-list> 实现此目的并调用动态生成的 JSON 文件。效果很好;但我想知道是否有一种本地方法可以消除对这三个文件的要求 - <amp-list> , <amp-mustache>以及要加载的动态 JSON 文件。

最佳答案

您可以检测 amp-script 中的 UA 字符串,然后相应地更新按钮:

<amp-script layout="fixed-height" height="50"
script="user-agent-script">
<button id="android" hidden>Android</button>
<button id="iOS" hidden>iOS</button>
</amp-script>

<script id="user-agent-script"
type="text/plain"
target="amp-script">

function getMobileOS() {
const userAgent = navigator.userAgent;
if (/android/i.test(userAgent)) {
return "android";
}
// iOS detection from: http://stackoverflow.com/a/9039885/177710
if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
return "ios";
}

return "other";
}

const androidButton = document.querySelector('#android');
const iosButton = document.querySelector('#ios');

const os = getMobileOS();
if (os === 'android') {
androidButton.removeAttribute('hidden');
} else if (os === 'ios') {
ios.removeAttribute('hidden');
} else {
androidButton.removeAttribute('hidden');
ios.removeAttribute('hidden');
}

</script>

示例:https://amp.dev/documentation/examples/components/amp-script/#detecting-android-vs-ios-in-amp

关于amp-html - 您可以使用 AMP 检测 iPhone 与 Android 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59765805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com