「Widget:Custom map」の版間の差分
提供:メタファー リファンタジオ 攻略Wiki
ヘイグ運営用アカウント (トーク | 投稿記録) 編集の要約なし タグ: 差し戻し済み |
ヘイグ運営用アカウント (トーク | 投稿記録) 編集の要約なし タグ: 手動差し戻し |
||
238行目: | 238行目: | ||
popup.setContent(editableContent); | popup.setContent(editableContent); | ||
} else { | } else { | ||
// 編集モードでない場合は表示用のコンテンツを設定 | // 編集モードでない場合は表示用のコンテンツを設定 | ||
if (title === '' && content === '') { | if (title === '' && content === '') { | ||
layer.unbindPopup(); // タイトルと内容が空の場合はポップアップを表示しない | |||
} else { | } else { | ||
var displayContent = '<strong>' + title + '</strong><br>' + content; | |||
var renderedContent = renderMediaWikiContent(displayContent); | |||
popup.setContent(renderedContent); | |||
} | |||
}) | } | ||
}); | |||
// 既にポップアップが設定されている場合に備え、再設定 | |||
if (!(title === '' && content === '')) { | |||
var displayContent = '<strong>' + title + '</strong><br>' + content; | |||
var renderedContent = renderMediaWikiContent(displayContent); | |||
layer.bindPopup(renderedContent); | |||
} | |||
} | } | ||
// MediaWikiコンテンツのレンダリング | // MediaWikiコンテンツのレンダリング | ||
function renderMediaWikiContent(content) { | function renderMediaWikiContent(content) { | ||
var renderedContent = ''; | |||
$.ajax({ | |||
url: API_BASE_URL + '/api.php', | |||
data: { | |||
action: 'parse', | |||
text: content, | |||
format: 'json' | |||
}, | |||
async: false, | |||
success: function(data) { | |||
renderedContent = data.parse.text['*']; | |||
// レンダリング後の画像処理 | |||
setTimeout(function() { | |||
initLightGallery(renderedContent); | |||
}, 100); | |||
}, | |||
error: function() { | |||
console.error('Failed to render MediaWiki content'); | |||
} | |||
} | |||
}); | }); | ||
return renderedContent; | |||
} | } | ||