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

时间:2018-07-28 18:13:16

标签: javascript jquery html css

我正在尝试在链接到index.html的外部javascript文件中编写函数,该函数在调用时会写入;例如在第18行的index.html文件中的 标记之间。是否可以使用纯Javascript或jQuery做到这一点?如果是这样,怎么办?

编辑:我只希望index.html中只有一个脚本标签。

  function writeToScriptTags(){
  //此函数应该将alert(“ Hello”)写入index.html文件中的标记。
}  
  <!DOCTYPE html>

  <头>
    
    <!-依赖关系->
    
    
    
     CodeDragon 
    
  
  <身体>
    
              <脚本>       // Javascript文件应在此处写入alert(“ Hello”)        

3 个答案:

答案 0 :(得分:0)

您可以尝试这种方式 说这是您的external.js文件

function writeToScriptTags() {
  // this function should write alert("Hello") to the <script></script> tags in the index.html file.
}

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

$.getscript("path/to/jsFile", function() {
    writeToScriptTags()
});

希望您有个好主意。

答案 1 :(得分:0)

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

//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标记了。

var s = document.createElement('script');
document.head.appendChild(s);
s.text = 'alert("Here")';

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

答案 2 :(得分:0)

jQuery解决方案:

$('script').html('alert(\'Hello\')');

普通JS解决方案:

document.querySelector('html').innerHTML = alert('Hello');

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