主頁面嵌入 <iframe src="city.html">,iframe 內 `` 點擊控制主頁面某 `同域解決方案
方案一:父頁面暴露函數,子頁面調用
// parent.html
function toggleDiv(id) {
const el = document.getElementById(id);
el.style.display = el.style.display === 'none' ? 'block' : 'none';
}
// city.html (iframe 內)
切換顯示
方案二:postMessage 跨域通用
// parent.html
window.addEventListener('message', e => {
if (e.data === 'toggle') toggleDiv('targetDiv');
});
// city.html
切換
注意事項
parent.document 或 contentWindow.document。postMessage,並驗證 e.origin。