将js注入头部(脚本中包含完整代码)

时间:2012-11-26 21:16:11

标签: javascript html web header

我想在网站的头部添加一个脚本,以便目标html的头部看起来像<head><script type="text/javascript">*some code...*</script></head>


这个脚本非常完美:

var head = document.getElementsByTagName('head')[0],
    script = document.createElement('script');

script.src = 'http://www.example.com/example.js';    
head.appendChild(script);

但我不想在源代码中使用任何链接。

所以我试着添加一些像这样的代码:

    function addJS(jsCode) {
    var styleElement = document.createElement('script');

    styleElement.type = 'text/javascript';

       (scriptElement.javascript) {
        scriptElement.javascript.jsText = jsCode
        scriptElement.appendChild(document.createTextNode(jsCode))

    document.getElementsByTagName('head')[0].appendChild(scriptElement);
}

var jsCode = '';
jsCode += 'code';
jsCode += 'some more code';

但我失败了。那个脚本无效。

如何在这样的任何html网站的头部添加一个元素? 如果有人可以帮助我会很棒。

2 个答案:

答案 0 :(得分:8)

试过这个,似乎有效。尝试

function addJS(jsCode) {
    var s = document.createElement('script');

    s.type = 'text/javascript';
    s.innerText = jsCode;
    document.getElementsByTagName('head')[0].appendChild(s);
}

演示here

答案 1 :(得分:1)

使用jquery

   var head = document.getElementsByTagName('head')[0],
        script = document.createElement('script');

    $(script).attr('type' , 'text/javascript');    
    head.appendChild(script);
    $(script).append("alert('Hello')");