Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 页面加载后如何在Safari上调用函数?_Javascript_Html_Reactjs_Dom_Addeventlistener - Fatal编程技术网

Javascript 页面加载后如何在Safari上调用函数?

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

我需要在网页加载并从URL获取参数后重定向它。我可以通过点击按钮来完成

但是,我想自动重定向页面(无需用户输入,因此更好的UX)。这里我使用的是
window.addEventListener('load',()=>handleClick())
,它在Chrome上运行良好,但在Safari(桌面和手机)上并不总是启动

我可以通过添加
alert('start')来调试它
我怎样才能解决这个问题

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)

这回答了你的问题吗?