Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVG编辑是否可以在独立/脱机上下文中工作?_Svg_Local_Offline_Svg Edit - Fatal编程技术网

SVG编辑是否可以在独立/脱机上下文中工作?

SVG编辑是否可以在独立/脱机上下文中工作?,svg,local,offline,svg-edit,Svg,Local,Offline,Svg Edit,因为SVG编辑是一个如此独特和吸引人的程序,我多年来一直在寻找这个问题的答案,但结果都是徒劳的 经过一番艰苦的努力,我通过安装WindowsIIS,然后设置一个web服务器等方法使它能够正常工作。然而,这远远不够理想 有什么原因不能(或不应该)在完全独立/离线模式下运行吗?具体来说,我要做的是将GetHub zip文件解压缩到本地文件夹,并在浏览器中打开“svg editor.html”。一般来说,这会产生一个空白窗口,或者(在一些以前的版本中)一个包含各种缺失项的窗口。有一个竞争条件导致svg

因为SVG编辑是一个如此独特和吸引人的程序,我多年来一直在寻找这个问题的答案,但结果都是徒劳的

经过一番艰苦的努力,我通过安装WindowsIIS,然后设置一个web服务器等方法使它能够正常工作。然而,这远远不够理想


有什么原因不能(或不应该)在完全独立/离线模式下运行吗?具体来说,我要做的是将GetHub zip文件解压缩到本地文件夹,并在浏览器中打开“svg editor.html”。一般来说,这会产生一个空白窗口,或者(在一些以前的版本中)一个包含各种缺失项的窗口。

有一个竞争条件导致svgedit出错,这在Chrome加载
文件时很明显://
URL,现在在Github上的
分支中修复

您将无法从
文件中本地加载
svg编辑器es.html
://
URL--
svg编辑器es.html
是依赖ES6模块加载其文件的原始源,但存在问题,因为不允许本地加载,导致控制台中显示原始错误),但是在修复之后,
svg editor.html
文件(这是使用svgedit的向后兼容方式)现在似乎可以工作了——至少对于一些基本功能,如绘制图形

但是,由于与
文件://
URL权限有限相关的限制(例如加载某些图像),某些功能可能无法工作。(我似乎还记得浏览器以前阻止其目录或子目录之外的文件加载父目录中的文件,但现在似乎不适用此限制,尽管我看到一些警告说Ajax无法加载svgedit尝试加载的某些图像。)

因此,即使使用了上述最新的修复程序,也可能无法完全脱机工作,除非您选择禁用浏览器上的安全限制,这是不应该轻率的。但至少对一些基本图形来说,它似乎是可行的

虽然我认为这可能解决了您的直接问题,即为什么没有服务器它就不能工作,但还有另一种“脱机”工作的方法,尽管它最初需要一台服务器来为文件提供服务,可能允许svgedit存储应用程序文件,以便下次在浏览器中访问该URL时完全脱机工作,并且不会遇到浏览器安全限制问题。现在的浏览器即使从服务器提供服务也可以脱机工作(由所谓的“服务工作者”完成——有关支持此功能的浏览器,请参阅)

然而,服务人员并不是那么容易拼凑在一起,尽管您应该能够通过在订阅该问题来跟踪这方面的任何未来进展(因为它已经是一个请求的功能),但目前还没有人承诺在这个时候实现这一点。希望有人会受到启发来实现这一点


顺便说一句,如果您使用“npm”(安装Node时可用的工具)安装svgedit,svgedit有一个启动脚本,您可以从svgedit文件夹中通过
npm start
从命令行调用该脚本,该脚本将为您运行本地(Node)服务器,特别是一个简单的静态文件服务器,它只允许您从
http
url加载svgedit(即
http://localhost:8000/editor/svg-editor.html
http://127.0.0.1:8000/editor/svg-html
;如果您使用的是现代浏览器,也可以使用ES6模块文件:)--无需安装任何其他服务器。

非常感谢您提供的信息性回复。我确认运行最新版本可以纠正基本问题,这可能就是我在基本级别使用该工具所需的全部内容。你关于服务工作者和node.js的建议很有趣,我一定会去看看(根据我有限的网络知识等)。