如何 SSI 包含变量文件名
How to SSI include Variable Filename
我最近发现了 SSI,但并不完全了解它的工作原理。我写了这个 javascript 代码,如下所示,它应该将 link 的末尾变成一个文本文件名(它做得很好)。然后所有需要转义的字符都被转义,代码如下。
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 and DOM manipulation。
感谢 @Quentin 的快速答复。在被告知 SSI 的确切用途后,我搜索了另一个解决方案。
This 对我有用!我修改了代码如下...
var request = new XMLHttpRequest();
request.open('GET', res, false);
request.send();
var textfileContent = request.responseText;
element = document.getElementById('book');
element.innerHTML = textfileContent;
希望这对其他人有帮助!
我最近发现了 SSI,但并不完全了解它的工作原理。我写了这个 javascript 代码,如下所示,它应该将 link 的末尾变成一个文本文件名(它做得很好)。然后所有需要转义的字符都被转义,代码如下。
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 and DOM manipulation。
感谢 @Quentin 的快速答复。在被告知 SSI 的确切用途后,我搜索了另一个解决方案。
This 对我有用!我修改了代码如下...
var request = new XMLHttpRequest();
request.open('GET', res, false);
request.send();
var textfileContent = request.responseText;
element = document.getElementById('book');
element.innerHTML = textfileContent;
希望这对其他人有帮助!