我正在尝试使用jquery将adsense javascript代码添加到指定的div位置,但似乎javascript代码不能很好地放在jquery变量中。它执行。我已经尝试使用php的htmlentities对其进行编码以进行存储,但我无法自然地解码它。我该怎么办?我是否需要基于javascript的替换htmlentities_decode?
这是我已经走了多远,而.html()并没有自动解码htmlentities编码的html。
var html_1 = "<?php echo htmlentities('<script>adsense ad code here</script>'); ?>";
if (html_1)
{
jQuery('#id_wpt_adblock_1').html(html_1);
}
答案 0 :(得分:2)
看起来您可以将javascript代码放在自己的函数中,然后只需在需要时执行该函数即可。这听起来很明显,你必须已经取消了这个选项,但为什么呢?
答案 1 :(得分:1)
<script>
标记添加到DOM时会自动执行。因此,当通过html()
添加字符串时,<script>
将添加到DOM,而不是运行。
此处的问题是字符串中的<script>
标记。当浏览器看到它们时,它可能会尝试运行该脚本。尝试将字符串更改为:
var html_1 = "<?php echo '<scr"+"ipt>adsense ad code here</scr"+"ipt>'; ?>";
这应输出:
var html_1 = "<scr"+"ipt>adsense ad code here</scr"+"ipt>";
哪个应该有用。
编辑:你说这个字符串在变量中,尝试使用str_replace
替换标记。
var html_1 = "<?php echo str_replace(array('<script>','</script>'), array('<scr"+"ipt>', '</scr"+"ipt>'), $_SESSION['wpt_ad_content_1']); ?>";
答案 2 :(得分:0)
document.write('<script src="your_script.js"><\/script>')</script>