通过JS在头文件中插入<script> codehere </script>?

时间:2014-03-20 19:47:01

标签: javascript php html

http://jsfiddle.net/8wGRg/

<script> document.getElementsByTagName("head")[0].appendChild("<scr" + "ipt>alert('Hi!');</scr" + "ipt>"); </script>

我有一个包含JS代码的PHP字符串。为了这段代码,我们可以说我的字符串是<script>alert('Hi!');</script>。在我的HTML文档的正文中,我如何使用JS将JS字符串插入到头部。

正如你所看到的,我将单词脚本分成两部分,以便在将它推到头部之前不会在体内处理它。

PHP字符串包含:

<script type='text/javascript'>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
(function() {
var gads = document.createElement('script');
gads.async = true;
gads.type = 'text/javascript';
var useSSL = 'https:' == document.location.protocol;
gads.src = (useSSL ? 'https:' : 'http:') + 
'//www.googletagservices.com/tag/js/gpt.js';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(gads, node);
})();
</script>

<script type='text/javascript'>
googletag.cmd.push(function() {
googletag.defineSlot('/1019006/ba_ad_footer_728x90', [728, 90], 'div-gpt-ad-1378123123651-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>

用于生成JS的PHP代码:

<?php $header_code = $GLOBALS['settings']['header_code']; // just an example of how I load the code ?>

JS插入PHP

document.getElementsByTagName("head")[0].appendChild("<?php echo $header_code; ?>");

1 个答案:

答案 0 :(得分:0)

它不会附加它,因为您尝试附加字符串而不是DOM节点。

var s = document.createElement('script');
s.appendChild(document.createTextNode('alert("Hi!")'));
document.getElementsByTagName("head")[0].appendChild(s);