设置重定向Meta标签时Prerender的行为及Angular SPA重定向疑问
关于Prerender处理Angular SPA重定向的疑问解答
首先给你明确结论:不需要在Page A等待Page B渲染完成再设置prerenderReady为true,Prerender会自动识别你配置的重定向meta标签,单独去抓取Page B的内容。
具体来说,当Prerender爬取Page A时,一旦检测到你设置的这两个meta标签:
<meta name="prerender-status-code" content="302"> <meta name="prerender-header" content="Location: Page B">
它会把这个逻辑等同于服务器返回的302重定向响应,立刻停止对Page A的后续渲染监听(包括prerenderReady的状态),转而发起对Page B的抓取请求。
这时候,真正需要关注prerenderReady的是Page B:你需要在Page B的内容完全渲染完成(比如所有异步数据加载完毕、组件渲染完成)后,设置window.prerenderReady = true,这样Prerender才能捕获到Page B的完整渲染内容。
另外提醒一下,Location的值最好使用完整的URL或者根相对路径(比如/page-b),避免Prerender解析目标地址时出现错误。
内容的提问来源于stack exchange,提问作者MichaelAttard
相关产品推荐
相关产品推荐

