Display the bundleID on Apple App Store preview pages
当前为
// ==UserScript==
// @name App Store BundleID Viewer
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Display the bundleID on Apple App Store preview pages
// @author sharmanhall
// @match https://apps.apple.com/*/app/*/id*
// @icon https://www.apple.com/favicon.ico
// @grant none
// @license MIT
// ==/UserScript==
(function () {
'use strict';
async function getBundleID() {
const appIdMatch = window.location.href.match(/id(\d+)/);
if (!appIdMatch) {
console.warn('[BundleID Viewer] App ID not found in URL.');
return;
}
const appId = appIdMatch[1];
const lookupUrl = `https://itunes.apple.com/lookup?id=${appId}`;
try {
const response = await fetch(lookupUrl);
const data = await response.json();
if (!data.results || !data.results[0] || !data.results[0].bundleId) {
console.warn('[BundleID Viewer] Bundle ID not found in API response.');
return;
}
const bundleId = data.results[0].bundleId;
console.log('[BundleID Viewer] Found Bundle ID:', bundleId);
showBundleID(bundleId);
} catch (err) {
console.error('[BundleID Viewer] Error fetching bundle ID:', err);
}
}
function showBundleID(bundleId) {
const infoBox = document.createElement('div');
infoBox.textContent = `📦 Bundle ID: ${bundleId}`;
infoBox.style.position = 'fixed';
infoBox.style.bottom = '20px';
infoBox.style.right = '20px';
infoBox.style.backgroundColor = '#000';
infoBox.style.color = '#fff';
infoBox.style.padding = '8px 12px';
infoBox.style.borderRadius = '6px';
infoBox.style.boxShadow = '0 0 10px rgba(0,0,0,0.5)';
infoBox.style.zIndex = '9999';
infoBox.style.fontSize = '14px';
infoBox.style.fontFamily = 'monospace';
document.body.appendChild(infoBox);
}
window.addEventListener('load', getBundleID);
})();