代码
// 显示字幕下载标签页
let win = window.open(undefined);
win.document.title = `下载字幕`;
win.document.body.appendChild(window.wait_subtitle.cloneNode()); // 移花接木之术
let win_div = win.document.getElementById('wait_subtitle');
win_div.innerHTML = window.wait_subtitle.innerHTML;
win.onmessage = function (event) { // 监听新标签页消息事件
try {
if (event.data === false) {
event.target.alert('下载失败!');
} else if (event.data === true) {
event.target.document.getElementById('info').innerText = '请保存文件';
}
} catch (error) { }
event.target.close(); // 零星白骨
};
可以看到,我们可以操纵另一个同源标签页,尽管它可能处于另一个进程。