osk*_*are 2 javascript reactjs gatsby netlify
我需要做一个简单的客户端重定向,从我在 Netlify 上托管的 Gatsby 站点上的页面重定向到外部 URL。它在本地工作正常,但在部署时似乎没有任何效果。Gatsby 的原生 createRedirect 功能似乎也存在一个错误,因此它不允许重定向到外部 URL。
我已经尝试了以下三种方法componentDidMount,render以及来自重复 ( setInterval) 函数调用的回调。我还尝试劫持指向重定向页面的链接的点击并执行window.open(url),但window在部署时似乎没有任何涉及的工作。有任何想法吗?
window.location.replace(url)
window.location.href = url
window.location = url
Run Code Online (Sandbox Code Playgroud)
您想从/foo您网站上的网址重定向到某个外部网址,例如domain.tld/bar,对吗?如果是这样,并且您正在使用 Netlify,那么您可能想要使用Netlify_redirects文件。
但是,如果您真的想在 Gatsby 内部执行此操作,您应该能够使用componentDidMount()钩子调用window.location.replace(). 我刚刚在我们的 v2 网站上进行了测试,这很有效。
class About extends React.Component {
componentDidMount() {
window.location.replace("https://www.gatsbycentral.com/");
}
Run Code Online (Sandbox Code Playgroud)
在开发过程中有一些怪癖,但这应该适用于生产。我在 Netlify 上使用预览分支进行了测试,它对我有用。
如果您有特定的错误消息,您可以将其作为新问题发布。
| 归档时间: |
|
| 查看次数: |
3656 次 |
| 最近记录: |