gpt4 book ai didi

javascript - 定义模块内的worker是使用绝对路径而不是相对路径上传的,为什么?

转载 作者:行者123 更新时间:2023-12-03 11:41:04 25 4
gpt4 key购买 nike

我有以下模块:

define('jsViz',['require','jquery'],function (require) {
var scripts = document.getElementsByTagName("script"),
src = scripts[scripts.length-1].src,
dotWorker = new Worker("/JSViz/main.js?v=2");
});

scripts[scripts.length-1].src 返回 domain/dist/js/index.js 这是当前正在执行的脚本的 URL。 Worker 构造函数接受当前执行脚本的相对路径,因此当我指定 /JSViz/main.js 时,我假设脚本将从 domain/dist/js/JSViz/main.js 加载,但是浏览器尝试从 domain/JSViz/main.js 加载脚本。为什么会这样?

PS。模块定义来自 r.js 优化输出,这就是模块命名的原因。

最佳答案

根据http://www.w3.org/TR/workers/

When the Worker(scriptURL) constructor is invoked, the user agent must run the following steps:

Resolve the scriptURL argument relative to the entry script's base URL, when the method is invoked.

关于javascript - 定义模块内的worker是使用绝对路径而不是相对路径上传的,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26272408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com