提问者:小点点

如何在HTML文档的开头插入脚本节点?


我正在尝试使用nodejs修改HTML文件,以便在HTML的开头附加一个脚本标记,以便它在所有其他脚本之前执行。

我当前的代码如下所示:

const fs = require('fs');
const parse = require('node-html-parser').parse;

fs.readFile('test.html', 'utf8', (err,html)=>{
   if(err){
      throw err;
   }

   const root = parse(html);

   const head = root.querySelector('head');
   if (head !== null) {
      head.insertBefore( '<script src = "test.js"></script>', head.firstChild);
      fs.writeFile('test.html', root.toString(), function (err) {
           if (err) return console.log(err);
      });
   }
 });

但是InsertBefore会引发异常。我该如何纠正这一点呢?


共1个答案

匿名用户

InsertBefore将节点作为其第一个参数;你在传递一个字符串。改用innerHTML插入脚本:

head.innerHTML = '<script src = "test.js"></script>' + head.innerHTML;

也可以使用insert邻接tml

相关问题