首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使外部的js文件写入到html的<script>标签中?通过普通JS或jQuery

如何使外部的js文件写入到html的<script>标签中?通过普通JS或jQuery
EN

Stack Overflow用户
提问于 2018-07-29 02:13:16
回答 3查看 1.5K关注 0票数 1

我正在尝试在链接到index.html的外部javascript文件中编写一个函数,当调用它时,它会写入内容;例如,在index.html文件第18行的<script></script>标记之间。如果是这样,如何做到这一点?

编辑:我想在我的index.html中只有一个脚本标签。

代码语言:javascript
复制
function writeToScriptTags() {
  // this function should write alert("Hello") to the <script></script> tags in the index.html file.
}
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <!-- Dependencies -->
    <script src="https://code.jquery.com/jquery-3.3.1.min.js" charset="utf-8"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" charset="utf-8"></script>
    <script src="https://code.jquery.com/color/jquery.color-2.1.2.min.js" charset="utf-8"></script>
    <title>CodeDragon</title>
    <link rel="stylesheet" href="/css/master.css">
  </head>
  <body>
    <div id="Dragon"></div>

    <input type="text" name="_input" value="" id="_input">
    <script src="script.js" charset="utf-8"></script>
    <script>
      // Javascript file should write alert("Hello") here
    </script>
  </body>
</html>

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-29 02:28:46

如果脚本标记已经存在,那么您可以将它的text/textContent/innerText值设置为您想要执行的任何代码。但是脚本需要事先是空的,即没有文本,甚至没有空格,否则它就不会运行。

代码语言:javascript
复制
//use an appropriate css selector to find the correct script
//this just selects the first script it finds
var s = document.querySelector('script');
s.text = 'alert("Here")';

创建一个新的script元素并添加代码可能会更好,因为这样您就不需要担心之前是否已经使用了script标记。

代码语言:javascript
复制
var s = document.createElement('script');
document.head.appendChild(s);
s.text = 'alert("Here")';

当然,如果使用src属性设置脚本,脚本的文本将不会运行任何代码,因为外部链接的脚本元素会忽略它。

票数 0
EN

Stack Overflow用户

发布于 2018-07-29 02:23:03

你可以尝试这样做,假设这是你的external.js文件

代码语言:javascript
复制
function writeToScriptTags() {
  // this function should write alert("Hello") to the <script></script> tags in the index.html file.
}

您可以通过这种方式在index.html文件的标签之间调用external.js文件的函数。

代码语言:javascript
复制
$.getscript("path/to/jsFile", function() {
    writeToScriptTags()
});

希望你能有个主意。

票数 0
EN

Stack Overflow用户

发布于 2018-07-29 04:00:23

jQuery解决方案:

代码语言:javascript
复制
$('script').html('alert(\'Hello\')');

普通JS解决方案:

代码语言:javascript
复制
document.querySelector('html').innerHTML = alert('Hello');

不要将它作为文本添加到代码中,因为它会呈现为纯文本,并且不会有任何功能。

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

https://stackoverflow.com/questions/51573988

复制
相关文章

相似问题

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