我正在构建一个Web应用程序,该应用程序的页面之一应根据用户是否安装了我的chrome扩展程序将用户重定向到其他网站或我的网站主页。我的代码是这样的:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tribe</title>
<script>
const EXTENSION_ID = "<%= extensionId %>";
const VIDEO_PLATFORM = "<%= videoPlatform %>";
const ROOM_ID = "<%= roomId %>";
chrome.runtime.sendMessage(EXTENSION_ID, {
type: "startSession",
videoPlatform: VIDEO_PLATFORM,
roomId: ROOM_ID
}, response => {
if (!response) {
// Redirect to landing page
window.location.replace("/");
}
})
</script>
</head>
<body>
Redirecting...
</body>
</html>
请注意,在脚本标签中,我调用了一个异步函数chrome.runtime.sendMessage
,该函数需要一个回调。我知道script标记中的代码将在页面其余部分加载之前运行,但是有什么方法可以“阻止”页面的加载,直到调用回调为止?基本上,如果需要重定向,我根本就不想将此页面加载给用户。