首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以使用javascript来修改脚本元素?

是否可以使用javascript来修改脚本元素?
EN

Stack Overflow用户
提问于 2022-09-08 01:26:30
回答 2查看 44关注 0票数 0

是否有方法使用javascript来修改脚本元素?

例如:

HTML:

代码语言:javascript
运行
复制
<script id="something" src="/js/file.js"></script>

Javascript:

代码语言:javascript
运行
复制
var something = document.getElementById("something");
something.src = "/js/anotherfile.js"

有可能吗?因为我有一些代码是这样工作的,但是它不起作用

具体来说,下面是代码:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>

<head>
  <title>MyohTheGod's Website</title>
  <link rel="icon" type="image/x-icon" href="/supercorn.gif" defer>
  </link>
  <link id="css" href="/css/dark.css" rel="stylesheet" type="text/css">
  </link>
  <script src="/js/particles.js" defer></script>
  <script src="/js/header.js"></script>
  <script src="/js/theme.js"></script>
  <script>window.alert("Welcome to the Home of MyohTheGod. You can play games, check out our web proxies, and more. Also, please do check out the About page. Press OK to continue...");</script>
</head>

<body>
  -snip-
</body>
<script id="foot" src="/js/footer.js"></script>

</html>
<script>
  -snip-
</script>
代码语言:javascript
运行
复制
var css = document.getElementById("css");
var foot = document.getElementById("foot");

function toggleDLmode(m) {
  -snip-
  if (dlmodebool) {
    css.href = "/css/dark.css"
    foot.src="/js/dark-footer.js"
  } else {
    css.href = "/css/index.css"
    foot.src="/js/footer.js"
  }
}

-snip-
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-08 01:38:53

它在工作,你检查过吗?它确实改变了,但是您可能在想,“为什么这个/js/另一个文件js没有下载呢?”因为脚本标记已经呈现并下载了,所以您不能这样做。通过添加新的脚本标记,您可以做些什么。

也许这会对How to dynamically change the script src?有帮助。此链接将解释您的代码“不工作”的更多原因。

票数 0
EN

Stack Overflow用户

发布于 2022-09-08 01:42:38

当然有。您可以使用document.scripts,它返回可以像数组一样迭代的集合。您可以使用innerHTML属性更改代码,非常类似于普通元素。见这里https://developer.mozilla.org/en-US/docs/Web/API/HTMLCollection

编辑以添加:如果您有一个包含多个脚本标记的html页面,则document.script集合将按它们出现的顺序排列每个脚本。下面的代码将注销源(src标记)或每个脚本元素的实际javascript。

您还可以通过设置innerHTML属性“写”javascript。

IMHO --这是一种寻找问题的解决方案,但至少可以让您访问所拥有的脚本数量。

代码语言:javascript
运行
复制
[...document.scripts].forEach(script => {
  if (script.src != '') {
    console.log("Script source:" + script.src);
  } else {
    console.log(script.innerHTML);
  }
});

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73642880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档