「Widget:Custom map」の版間の差分
提供:メタファー リファンタジオ 攻略Wiki
ヘイグ運営用アカウント (トーク | 投稿記録) 編集の要約なし |
ヘイグ運営用アカウント (トーク | 投稿記録) 編集の要約なし |
||
29行目: | 29行目: | ||
// APIベースURLの設定を動的に行い、一度設定したら変更できないようにする | // APIベースURLの設定を動的に行い、一度設定したら変更できないようにする | ||
(function() { | (function() { | ||
if (typeof window.API_BASE_URL === 'undefined') { | if (typeof window.API_BASE_URL === 'undefined') { | ||
const currentUrl = new URL(window.location.href); | const currentUrl = new URL(window.location.href); | ||
const baseUrl = currentUrl.origin + currentUrl.pathname.split('/').slice(0, -1).join('/'); | const baseUrl = currentUrl.origin + currentUrl.pathname.split('/').slice(0, -1).join('/'); | ||
Object.defineProperty(window, 'API_BASE_URL', { | Object.defineProperty(window, 'API_BASE_URL', { | ||
value: baseUrl, | value: baseUrl, | ||
44行目: | 41行目: | ||
console.log('API_BASE_URL set to:', baseUrl); | console.log('API_BASE_URL set to:', baseUrl); | ||
// 初期化完了フラグを設定 | |||
window.API_INITIALIZED = true; | |||
} | } | ||
})(); | })(); | ||
718行目: | 716行目: | ||
// トークンを取得する関数の前に追加 | // トークンを取得する関数の前に追加 | ||
function validateToken(token) { | function validateToken(token) { | ||
if (!token || typeof token !== 'string') { | |||
console.warn('Invalid token format'); | |||
return false; | |||
} | |||
return true; | |||
} | |||
return true; | |||
} | } | ||
function getMwToken() { | function getMwToken() { | ||
846行目: | 836行目: | ||
}, 500); | }, 500); | ||
}); | }); | ||
// エラーハンドリングの改善 | |||
function handleApiError(error) { | |||
console.error('API Error:', error); | |||
if (error.status === 403) { | |||
alert('アクセス権限がありません。再度ログインしてください。'); | |||
} else if (error.status === 404) { | |||
alert('リソースが見つかりません。'); | |||
} else { | |||
alert('エラーが発生しました。ページを更新してください。'); | |||
} | |||
} | |||
</script> | </script> | ||
</includeonly> | </includeonly> |