首页 > 解决方案 > 使用 iframe 时 Javascript 字符串替换不起作用

问题描述

我在网站上看到了很多关于此的问题,但所有这些问题似乎都与字符串的不变性有关。我不认为这是我的问题,并且由于某种原因,这个字符串替换似乎不起作用。网页的内容是完整路径(基本上是 XML 解释)/files/somefolder/,我正在尝试获取文件夹名称。我目前在屏幕上打印出“/files/somefolder/”。我希望这会输出'somefolder'。知道为什么不是吗?(另外,我是 Javascript 的新手,从 Java/C 的角度来看,所以请在任何答案中解释为什么会发生这种情况,以便我学习):

我的javascript被称为filescanner.js:

var directory = "/files";
var xmlHttp = new XMLHttpRequest();
xmlHttp.open('GET', directory, false); // false for synchronous request
xmlHttp.send(null);
var ret = xmlHttp.responseText;

let doc = new DOMParser().parseFromString(ret, 'text/html');

let links = doc.getElementsByTagName('tbody')[0].getElementsByTagName('a');
for (let i = 0; i < links.length; i++) {
        if (links[i].getAttribute("href").endsWith('/')) {
            document.write(links[i].getAttribute("href").replace("/\/files\//g","").replace("/\//g",""));
            document.write("<br />");
        }
}

我的主要网站很简单:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="Site.css" media="screen"/>
<title>
Remote Client
</title>
<body>

<center>Ensure that Java Runtime Environment is installed on your machine before starting </center>
<br>
<center><a href="Installers/jre-8u91-windows-i586.exe" class="button">Install Java</a></center>
<br>
<h2>Launch HMI Remote Client</h2>

<script src="filescanner.js"></script>

</body>
</html>

标签: javascript

解决方案


推荐阅读