gpt4 book ai didi

javascript - 将文件系统位置解析为可用文件 ://urls in chrome

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

我正在 Chrome 扩展程序中将文件保存到用户的硬盘驱动器,并且我需要有一种方法以编程方式在 Chrome 浏览器中打开该文件。我可以使用 chrome tabs API 创建一个选项卡并设置其 url。问题是文件的文件系统地址。

Chrome 将文件名中的特殊字符切换为其他表达式,例如空格变为 %20。

为了解决这个问题,我想在保存文件名之前对其进行解析,删除会导致这些网址损坏的字符。

我无法找出正确解析文件名的正则表达式。

有两件事可以帮助我:

  1. 在 Chrome 中打开网址时导致网址损坏的所有特殊字符的列表。

  2. 或者更好的是,来自正则表达式帮助的即时解决方案,我可以将其与 javascript 一起使用 replace method将每个“/”替换为“\”,并将所有非字母或数字(或我刚刚添加的“\”)的其他字符替换为“_”

编辑:

如果我不考虑对字符串的这些更改,我将无法在 chrome 选项卡中打开该文件。例如,下面的代码将不起作用。

chrome.browserAction.onClicked.addListener( function(tab) {
chrome.tabs.create({ url: 'file:///home/user/1057_AngularJS: Developer Guide: Directives.mhtml'}, function(tab) {
});
});

我需要做:

chrome.browserAction.onClicked.addListener( function(tab) {
chrome.tabs.create({ url: 'file:///home/user/1057%5CAngularJS:%20Developer%20Guide:%20Directives.mhtml'}, function(tab) {
});
});`

我想用\s 替换/s,以便文件系统 URL 尽可能与网页 URL 相似,但如果这会导致问题,我可以放弃它。

最佳答案

an instant solution from help with a RegEx that I can use with javascript's replace method to replace every "/" with a "\", and every other character that isn't a letter or a number (or the "\" that I just added) with a "_"

你在这里:

'Hello/你 好/1337'.replace(/\//g, '\\').replace(/[^a-zA-Z0-9\\]/g, '_');

输出:

'Hello\___\1337'

关于javascript - 将文件系统位置解析为可用文件 ://urls in chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26942503/

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