我最近发现了 SSI,但并不完全了解它是如何工作的。我已经编写了这段 JavaScript 代码,如下所示,它应该将链接的末尾转换为文本文件名(它做得很好)。然后转义所有需要转义的字符,代码如下。
var path = window.location.pathname;
var page = path.split("/").pop();
var res = path.replace(".html", ".txt");
var res = res.replace("/Iliad/", "");
console.log(res);
element = document.getElementById('book');
element.innerHTML = "\<\!\-\-\#include virtual="+res+" \-\-\>";
根据控制台(检查元素),<!--#include virtual=1.txt -->
完全正确地添加到 html div 容器的 innerHTML,但它不包含它引用的 .txt 文件。我已经在互联网上搜索过,但找不到解决方案。我做错了什么吗?如果是这样,我该如何实现这一目标。谢谢!
最佳答案
只要服务器配置正确,服务器端包含就会在服务器上处理(因此得名)。
修改浏览器中的数据(在数据离开服务器很久之后)无法触发服务器上 SSI 的处理。
<小时/>查看Ajax和 DOM manipulation相反。
关于javascript - 如何 SSI 包含变量文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47537385/