【问题标题】:Ionic worker's creation on wkwebview on ios 11: SecurityError (DOM Exception 18): The operation is insecureios 11 wkwebview中Ionic worker的创建:Security_err (DOM Exception 18): 操作不安全
【发布时间】:2021-01-27 18:40:35
【问题描述】:

我正面临 SecurityError (DOM Exception 18): The operation is insecure。有很多与“dom 安全异常”相关的问题,但没有一个符合我的需要。

首先, 感谢this link,我在 IOS 11.0.3 中遇到了下拉列表问题。我找到了解决方法。

但是现在当我尝试创建一个工作人员时,我遇到了一个 SecurityError(DOM 异常 18)。 我这样做时发生了异常:

var pdfWorkerBlob = new Worker('scripts/pdfmake-worker-blob.js');

顺便说一句,它是我们使用 pdfmakejs 打印 pdf 的工作人员。在我使用 cordova-plugin-wkwebview-engine 我使用 ionic 之前,这条线运行良好。以下命令的结果是:

ionic info 
cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-plugin-proxy : 1.5.8
    @ionic/cli-utils        : 1.19.2
    ionic (Ionic CLI)       : 3.20.0

System:

    Node : v8.7.0
    npm  : 5.7.1
    OS   : macOS High Sierra

这是异常的截图

【问题讨论】:

    标签: ios ipad ionic-framework web-worker


    【解决方案1】:

    我确实找到了解决问题的方法。

    如果您不是在离子中遇到这个问题。 最好的方法似乎是您必须部署一个轻量级的本地网络服务器来提供服务 你的脚本。

    Caddy 可以是一个很好的工具。 顺便感谢@Matt(Matt Holt)。这个解决方案是他在topic on github 中提出的,它启发了我的解决方案。

    话虽如此,因为我们使用的是 ionic。我们已经有一个可以为脚本提供服务的本地网络服务器。

    首先我得到应用程序的 url:

    var rootUrl=document.URL.split('#')[0];
    

    然后我可以像这样创建我的工人:

    pdfmakeWorkerBlob = new Worker(rootUrl+'scripts/pdfmake-worker-blob.js');
    

    不再有 dom 异常安全问题。

    对于那些不熟悉网络工作者的人来说,page 是一个很好的开始

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-03
      • 2015-09-20
      • 2023-04-09
      • 1970-01-01
      相关资源
      最近更新 更多