【发布时间】:2023-03-09 11:19:01
【问题描述】:
我有一个数组,里面有一些像这样的 url:
[
"path/to/url1",
"path/to/url2",
"path/url/unicóde.txt"
]
我正在使用角度,ng-repeat 我创建了一个可点击的列表,执行重定向到所需的 url,但是,当我点击 unicode url 时,浏览器找不到它。
我尝试使用 encodeURI("path/url/unicóde"),但它会检索到:
path/url/unic%C3%B3de.txt 未找到。相反,当我手动访问:path/url/unicóde.txt(这是在一个 ftp 中,所以,我逐个文件夹直到到达文件)浏览器中的 url 现在显示:path/url/unic%F3de.txt,这与给出的值不同我encodeURI( )。
然后我如何可以点击此列表项并重定向到所需的 unicode url?
代码如下: html:
<md-list-item ng-repeat="found in foundFiles">
<h3>{{ found.name }}</h3>
<p ng-click="openFtpLink(found.url)">{{ found.url}}</p>
</md-list-item>
javascript:
$scope.foundFiles = [...]
$scope.openFtpLink = function (ftpLink) {
var spawn = require('child_process').spawn;
spawn('cmd.exe', ['/c', 'start', '', ftpLink]);
};
这是一个使用 electron + angular 构建的应用程序,我想要的是当用户单击该项目时,打开他的默认浏览器并将其重定向到 url
【问题讨论】:
-
尝试将
charset="utf-8"添加到您的脚本标签中。 -
“我创建了一个执行重定向到所需 URL 的可点击列表” - 需要查看此代码,因为您似乎在 URL 解码(或缺少解码)方面做错了。
标签: javascript angularjs url unicode