Javascript 页面加载后如何在Safari上调用函数?
我需要在网页加载并从URL获取参数后重定向它。我可以通过点击按钮来完成 但是,我想自动重定向页面(无需用户输入,因此更好的UX)。这里我使用的是Javascript 页面加载后如何在Safari上调用函数?,javascript,html,reactjs,dom,addeventlistener,Javascript,Html,Reactjs,Dom,Addeventlistener,我需要在网页加载并从URL获取参数后重定向它。我可以通过点击按钮来完成 但是,我想自动重定向页面(无需用户输入,因此更好的UX)。这里我使用的是window.addEventListener('load',()=>handleClick()),它在Chrome上运行良好,但在Safari(桌面和手机)上并不总是启动 我可以通过添加alert('start')来调试它{ 警报('beging');//用于调试 const stripe=等待stripePromise; const{error}=w
window.addEventListener('load',()=>handleClick())
,它在Chrome上运行良好,但在Safari(桌面和手机)上并不总是启动
我可以通过添加alert('start')来调试它在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;
const handleClick=async(事件)=>{
警报('beging');//用于调试
const stripe=等待stripePromise;
const{error}=wait stripe.redirectToCheckout({
param,
});
}
如果(窗口类型!=`undefined`){
const param=新的URLSearchParams(window.location.search.get('param');
}
常量页=()=>{
如果(窗口类型!=`undefined`){
addEventListener('load',()=>handleClick())
}
返回(
//仅用于撤退
按
);
};
导出默认页面;
无需单击按钮,即可使用history.push功能。因为它会在调用时立即启动
history.push(location)
这回答了你的问题吗?