簡體   English   中英

從外部js腳本觸發function進入Vue

[英]Trigger function from external js script into Vue

通過這種方式,在掛鈎內有一個腳本加載到我的 Vue 應用程序中:

let recaptchaScript = document.createElement("script");
recaptchaScript.setAttribute("src", "https://sso.****.com.co/v3/****.main.js");
document.body.append(recaptchaScript);

腳本加載了,但是有一個function注入到window object。

目前,當我需要使用 function 時,我會這樣做:

mounted() {
  let recaptchaScript = document.createElement("script");
  recaptchaScript.setAttribute("src", process.env.VUE_APP_TAPIT_SSO_URL);
  document.body.append(recaptchaScript);
  this.$nextTick(() => {
    setTimeout(() => {
      window.ssoApp.configApp(TAPIT_SSO_CONFIG);
    }, 1500);
  });

我想擺脫 setTimeOut,但我還沒有弄清楚如何等待腳本執行並將 object 函數 (ssoApp) 注入 window object 而不使用計時器。 有什么辦法嗎? 我幾乎嘗試了一切。

該元素應同時具有srconload屬性。 最后設置源,這樣所有可以同步完成的事情都在開始加載之前完成。

mounted() {
  let recaptchaScript = document.createElement("script");
  document.body.append(recaptchaScript);
  recaptchaScript.onload = () => window.ssoApp.configApp(TAPIT_SSO_CONFIG);
  recaptchaScript.src = process.env.VUE_APP_TAPIT_SSO_URL;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM