【问题标题】:InAppBrowser loadstop fires twiceInAppBrowser loadstop 触发两次
【发布时间】:2020-12-08 19:01:12
【问题描述】:

我正在使用有角度的 ionic 5,我需要一个 inappbrowser 来打开一个网站的 URL 数组,然后单击网页上的某个按钮。该数组的最后一个 URL 为https://www.example.com/#close,这使得它关闭了浏览器。所以我做了这样的事情

const browser = this.iab.create(arr[0], '_blank', {hideurlbar : 'yes'} );
    let i = 1;

    browser.on('beforeload').subscribe((event) => {
      if (event.url == 'https://www.example.com/#close') {
        browser.close();
        this.presentAlert("You have seen all the Links");
      }
    });

    browser.on('loadstop').subscribe(event => {
      browser.executeScript(
        {
          code :
          `
          localStorage.setItem('next', '${arr[i]}')
          var elements = document.getElementsByClassName("fr66n");
          var myFunction = function(event) {
            window.location = localStorage.getItem('next');
          };
          for (var i = 0; i < elements.length; i++) {
              elements[i].addEventListener('click', myFunction, false);
          }
          `
        }
       );
       i++;
   });

但这里的问题是,loadstop 在每次点击时运行两次,使浏览器加载备用 URL。

【问题讨论】:

  • 您找到解决问题的方法了吗?我对 InAppBrowser 有同样的问题。

标签: cordova ionic-framework inappbrowser capacitor ionic5


【解决方案1】:

我在使用 InAppBrowser 时遇到了同样的问题。

但是,我发现了一个临时解决方案,它包括在“代码”中放置一个 setTimeOut 并使用“loadstart”而不是“loadstop”:

browser.on('loadstop').subscribe(event => {
browser.executeScript(
    {
      code :
      `
        setTimeout(() => {

            localStorage.setItem('next', '${arr[i]}')
            var elements = document.getElementsByClassName("fr66n");
            var myFunction = function(event) {
                window.location = localStorage.getItem('next');
            };
            for (var i = 0; i < elements.length; i++) {
                elements[i].addEventListener('click', myFunction, false);
            }
            
        }, 1000);
      `
    }
   );i++;
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多