- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 WebWorker在 WebExtension 里面在 Azure DevOps 服务器上。
处理大型repository的数据成本很高,所以想用一个WebWorker在Background进行计算。
但是当我调用 new Worker("static/js/WorkerLoadTree.js")
时:
//CREATE WORKER
console.log("BEFORE NEW WORKER CALL")
BackgroundWorker = new Worker("static/js/WorkerLoadTree.js");
console.log("AFTER NEW WORKER CALL")
我在 Edge 中看到:
我在 Chrome 中看到了更多细节:
VSS.SDK.min.js:2 Rejected XDM promise with no reject callbacks n._reject @ VSS.SDK.min.js:2
VSS.SDK.min.js:2 DOMException: Failed to construct 'Worker': Script at 'http://136.310.18.216:8070/_apis/public/gallery/publisher/user/extension/SearchRepos/1.0.13/assetbyname/static/js/WorkerLoadTree.js' cannot be accessed from origin 'null'.
at WorkerStart (http://136.310.18.216:8070/_apis/public/gallery/publisher/user/extension/SearchRepos/1.0.13/assetbyname/static/js/WorkerMain.js:13:32)
at FillCode (http://136.310.18.216:8070/_apis/public/gallery/publisher/user/extension/SearchRepos/1.0.13/assetbyname/index.html:284:3)
at http://136.310.18.216:8070/_apis/public/gallery/publisher/user/extension/SearchRepos/1.0.13/assetbyname/index.html:144:6
at n._wrapCallback (http://136.310.18.216:8070/_apis/public/gallery/publisher/user/extension/SearchRepos/1.0.13/assetbyname/lib/VSS.SDK.min.js:2:951)
at Array.<anonymous> (http://136.310.18.216:8070/_apis/public/gallery/publisher/user/extension/SearchRepos/1.0.13/assetbyname/lib/VSS.SDK.min.js:2:647)
at http://136.310.18.216:8070/_apis/public/gallery/publisher/user/extension/SearchRepos/1.0.13/assetbyname/lib/VSS.SDK.min.js:2:1383 n._reject @ VSS.SDK.min.js:2
Failed to load resource: net::ERR_UNEXPECTED :8070/DefaultCollection/_apis/Contribution/HierarchyQuery/project/09737d31-b39f-49a1-8973-4a702cc4be92:1
加载 WorkerLoadTree.js
似乎有问题。调用方式是否正确?工作人员如何访问扩展中的 js 文件?
我的扩展文件结构如下:
───SearchRepos
│ icon.png
│ index.html
│ SearchRepos-1.0.14.vsix
│ package-lock.json
│ package.json
│ vss-extension.json
│
├───node_modules
│ └───vss-web-extension-sdk
│ ...
│
└───static
├───css
│ main.css
│
├───js
│ main.js
│ WorkerLoadCode.js <- WebWorker
│ WorkerLoadTree.js <- WebWorker
│ WorkerMain.js
│
├───lib
│ jquery-3.4.1.min.js
│ jstree.js
│
└───themes
...
元:
Azure DevOps 服务器 17.143.28912.1 (AzureDevOps2019.0.1)
最佳答案
DOMException: Failed to construct 'Worker': Script at 'http://136.310.18.216:8070/_apis/xxxx/static/js/WorkerLoadTree.js' cannot be accessed from origin 'null'.
这是跨域访问文件的一个非常正常的错误。使用 web worker 有一个限制:Same Origin Policy .而且浏览器也不允许创建具有指向不同域的 URL 的工作程序。您的调用方式不正确导致的“跨域”错误。
BackgroundWorker = new Worker("static/js/WorkerLoadTree.js");
Chrome 不允许你在从本地文件运行脚本时加载 web worker(),否则会出现这样的错误:
注意:我只是在我的本地机器上做一个例子。加载本地文件,即使使用相对 URL,也与使用 file:
协议(protocol)加载文件相同。
您应该使用来自放置这些文件的网络服务器的 url,如下所示:http://xxxx:xx/static/js/WorkerLoadTree.js
。或者 chrome 会将这个名为 way 的本地文件视为跨域使用文件。
关于javascript - Azure DevOps WebExtension 使用 WebWorker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57784495/
我正在将旧版 Firefox 扩展移植到 WebExtensions。我想在运行时知道扩展本身的版本号。现在我正在做: let extensionVersion = (function() { v
很多时候我都遇到过这个问题,当代码将生成异常(例如未在对象中定义的方法)时,它不会显示在 Firefox 控制台中。 Firefox 会简单地跳过那部分代码。 无法弄清楚问题后,我需要使用 Chrom
我正在尝试让 Google Chrome 扩展程序作为 Firefox Webextension 运行。我原来的问题是弹出窗口没有高度。除此之外,我一生都无法弄清楚如何检查弹出窗口的 DOM。 顺便说
我正在尝试使用 Firefox 45.0.1 移植以编程方式创建文件并将文件下载到 Firefox WebExtension 的 Chrome 扩展程序。 这是Javascript代码: text
我一直在尝试通过阅读以下文档来了解如何使用 WebExtension Page Actions: https://developer.mozilla.org/en-US/Add-ons/WebExte
我正在使用现代浏览器通用 WebExtensions 框架编写浏览器扩展。 我试图弄清楚,如何获得(读取)访问权限或使用稳定的 WebRequest API 的常规服务器发送的 http 响应数据的副
尝试在 WebExtension 中使用带有源映射的库时,遇到此错误。 Source map error: TypeError: NetworkError when attempting to fet
我正在将 Chrome 扩展移植到 Firefox WebExtensions。在 Chrome 上一切正常。 我在 Firefox 上试过这些: 1. 修改我的扩展,使其与 Firefox WebE
所以,我按照这里的教程进行操作:https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_We
我正在更新旧的扩展,从旧的 XUL 代码传递到 html/css“chrome”代码。 我的 .json 文件中的“options_ui”标签有问题...如果我使用当前的 firefox 版本 (46
我正在处理弹出窗口、内容脚本和后台脚本的组合。不幸的是,我在其中选择的任何沟通都未能达到我想要的结果。 我需要在浏览器菜单中开发带有图标/弹出窗口的网络扩展。单击后,它将打开专用菜单,其中包含弹出窗口
我正在尝试了解使用浏览器扩展 storage 的安全隐患。当我阅读 WebExtensions storage documentation 时,有几件事我不清楚。 . 文档中说: Values are
看来 Nativemessaging 的协议(protocol)意味着 native 应用程序通过阻止先读后写循环与扩展进行通信。 首先,这是正确的吗? 如果是这样,那么就很难在双方之间建立双向异步通
如何配置我的自分发 firefox webExtension 以自动更新,我已经尝试关注 MDN update doc但是还是无法更新。 我的网络扩展托管在一个子域名上,例如 "https://fil
WebExtensions API 是否允许更改浏览器的窗口标题? 例如。更改“WebExtensions - 堆栈溢出 - Mozilla Firefox” 到“浏览器 - 窗口 1” 或“浏览器
我是编写附加组件的新手。我试图让一个函数在按下按钮后运行 X 分钟。我正在关注this MDN reference ,并与 this example addon 进行比较,但看不到我的错误。 到目前为
我最近开始使用 FireFox 的 WebExtensions 库,因为旧版扩展已通过 Quantum 更新删除。 我的问题是我需要从上下文菜单将文件保存到绝对路径,但是 FF 的 downloads
我正在尝试开发一个扩展程序,以便在 Mac 上的 FirefoxDeveloperEdition(不需要签名)上运行。 我遵循了“您的第一个 WebExtension”指南,并且在使用“加载临时附加组
如何对网络扩展进行单元测试? 对于较旧的 Firefox 扩展,已弃用的 jpm 工具有一个 jpm test 命令,该命令对从 .js 导出的方法运行单元测试文件。 web-ext 这无论如何都可能
我阅读了有关如何获取对书签树的引用并在其中导航的 MDN 文档。但是我怎么知道哪个文件夹代表书签工具栏呢?此工具栏的名称因地区而异。我不确定是否仍允许用户为此选择任意文件夹,但这在几年前是可能的。 我
我是一名优秀的程序员,十分优秀!