【发布时间】:2020-09-05 19:53:14
【问题描述】:
我需要在加载并从 URL 获取参数后重定向网页。我可以通过单击按钮来做到这一点。
但是,我想自动重定向页面(无需用户输入,从而获得更好的用户体验)。在这里我使用window.addEventListener('load', () => handleClick()),它在 Chrome 上运行良好,但它并不总是在 Safari(桌面和移动)上触发。
我可以通过在处理程序中添加 alert('Beginning'); 来调试它 - 在 Chrome 上,它会在页面加载后自动触发,但在 Safari 上不会。
我该如何解决这个问题?
const handleClick = async (event) => {
alert('Beginning'); //For debugging
const stripe = await stripePromise;
const { error } = await stripe.redirectToCheckout({
param,
});
}
if (typeof window !== `undefined`) {
const param = new URLSearchParams(window.location.search).get('param');
}
const Page = () => {
if (typeof window !== `undefined`) {
window.addEventListener('load', () => handleClick())
}
return (
<section >
<button role="link" onClick={handleClick}> //Only for fallback
Press
</button>
</section>
);
};
export default Page;
【问题讨论】:
标签: javascript html reactjs dom addeventlistener