插入<;脚本>;代码此处</脚本>;在标题中通过正文中的JS


Inserting <script>codehere</script> in header via JS in the body?

http://jsfiddle.net/8wGRg/

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

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

正如你所看到的,我把单词script分解为两部分,这样在把它推到头之前,它就不会在身体里真正处理它。

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; ?>");

它不追加它,因为您试图追加一个字符串而不是DOM节点。

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