我不确定是否可以访问其他脚本标签的src。
<脚本>
//我的功能
我想创建一个按钮或类似按钮,将“ ./data.json”更改为其他内容,然后重新加载页面。
答案 0 :(得分:0)
这是一个肮脏的示例,说明如何使用访存来从json数据实时更新表中的数据(为便于示例)。您可以轻松地使其适应您的需求(但不要使用字符串来创建html,而应使用document.createElement等...
const url = "https://randomuser.me/api/?results=10"; // returns json data
function getData() {
fetch(url).then(res => res.json()).then(({
results
}) => {
const body = document.querySelector('#foo tbody');
body.innerHTML = "";
results.forEach(({
name
}) => {
const strHTML = `<tr><td>${name.title}</td><td>${name.last}</td><td>${name.first}</td></tr>`;
body.innerHTML += strHTML;
})
});
}
getData();
setInterval(getData, 2000);
<table id="foo">
<thead>
<th>gender</th>
<th>name</th>
<th>firstName</th>
</thead>
<tbody>
</tbody>
</table>
答案 1 :(得分:-1)
我不知道您为什么要更改src
属性,以及为什么还要重新加载页面。更改src
属性不会更改脚本。您必须改为使用新的src
创建一个新的脚本元素。将id
属性添加到脚本标签。使用该ID选择脚本标签,将其删除并创建一个新脚本。
HTML
<script id="x" src="./data.json"></script>
JavaScript
var oldScript = document.getElementById("x");
oldScript.parentElement.removeChild(oldScript);
var newScript = document.createElement("script");
newScript.src = "something else";
document.body.appendChild(newScript);
如果您需要永久更改src
属性(以使更改在重新加载页面后生效),则应使用一些能够读取/写入本地文件的服务器端技术。