不允许启动自定义协议,因为需要用户手势

问题描述 投票:0回答:1

我需要运行我的自定义协议两次,但第二次不起作用,我收到此错误(不允许启动“cutomProtocol”,因为需要用户手势。)我试图找到解决方案,但我没有找到任何一个!

Chrome、Firefox 和 Edge 也有同样的问题。

enter image description here

我需要看到这个弹出窗口两次 enter image description here

window.location.href = 'my-protocol://${base64}';

customProtocolVerify(
      `my-protocol://${base64}`,
      () => {
        // successCb: Callback function which gets called when custom protocol is found.
        console.log('My protocol found and opened the file successfully..');
      },
      () => {
        // failCb: Callback function which gets called when custom protocol not found.
        console.log('My protocol not found.');
      }
    );

我尝试了这两个,但没有成功

澄清

我有一个自定义协议。

我的场景:

  1. 检查它是否安装成功(我正在使用
    customProtocolVerify
    方法),如果找到协议,该方法就会启动
  2. 运行一些API
  3. 再次启动协议

我的问题:

第 3 步不起作用,控制台上出现错误,显示“不允许启动...”,当然我看不到打开协议的弹出窗口。

我正在寻求帮助以使步骤 3 发挥作用

javascript angular browser gesture custom-protocol
1个回答
0
投票

绕过此“错误”的唯一方法是通过显示“确定”警报或某种用户确认框来询问用户两次(或循环)。

我的解决方案:

OpenLinkInExternalApp(Link);
alerty.alert('', { title: '', okLabel: 'Open Link'  }, function () {
    OpenLinkInExternalApp(Link);
});

上面的代码将打开外部应用程序,然后会弹出“确定”警报,单击“确定”后,我再次调用相同的代码。如果需要,请循环执行此操作。

提示: 现阶段我们引导用户使用分屏。例如,用户可以在此处将您的网络应用程序停靠在左侧,将外部应用程序停靠在右侧。

警报框: 我们使用 Alerty.js https://github.com/undead25/alerty#readme

© www.soinside.com 2019 - 2024. All rights reserved.