<a target="iframeName"> 和同名 <iframe name="iframeName">。瀏覽器按 target 名稱在全局上下文查找 iframe。多個同名 iframe 存在時,Chrome 可能匹配到最先創建/聚焦的那個,導致跨窗口錯向。
iframe_${timestamp}),並同步設置鏈接 target。需控制彈窗頁面代碼。target,改用 <a href="..." onclick="window.open(this.href, 'iframeName'); return false;">,並在彈窗內用 window.frames['iframeName'].location.href = ... 精確導航。message 事件,子頁面發送導航指令,父頁面精確找到對應 iframe 並 src 賦值。// 彈窗頁面加載時
const uniqueName = 'frame_' + Date.now();
document.querySelector('iframe').name = uniqueName;
document.querySelectorAll('a[target="iframeName"]').forEach(a => a.target = uniqueName);
Chrome 對同名 browsing context 的處理與 Firefox/Edge 不一致,標準建議避免跨窗口重複 name。若無法改動舊系統,方案 2(JS 精確導航)侵入性最小。