使用jquery将javascript添加到html页面中
我想添加一个JavaScript的谷歌广告,但我不能插入JavaScript使用jQuery的div。 我尝试用这个测试来模拟我的问题,它使用了我在stackoverflow上发现的一些建议,但它不起作用。
我想要在div中插入<script type='text/javascript'>document.write('hello world');</script>
,并在tag_1和tag_2之间显示“hello world”。
代码如下:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var str="<script type='text/javascript'>document.write('hello world');";
str+="<";
str+="/script>";
$('#insert_here').append(str);
});
</script>
</head>
<body>
tag_1<br/>
<div id="insert_here">
</div>
tag_2<br/>
</body>
</html>
坦克为你的答案,
卢卡斯
我想出了一个很好的解决方案:
display:none
样式包围div 由于JavaScript已经运行,所以将脚本块移到任何你想要的地方都没有问题。
例如,如果您希望在您的博客中散布2块谷歌广告(比如在第1段和第4段之后),那么这是完美的。
以下是一些示例代码:
<div id="advert1" style="display:none">
<div class="advertbox advertfont">
<div style="float:right;">
<script type="text/javascript"><!--
google_ad_client = "pub-xxxxxxxxxxxxxxxxx";
/* Video box */
google_ad_slot = "xxxxxxxxxxxxxxxxx"
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$('#advert1').appendTo("#content p:eq(1)");
$('#advert1').css("display", "block");
});
</script>
ps#内容恰好是内容在我的CMS(Squarespace)上启动的位置,因此您可以使用CMS中的任何内容替换它。 这是一种享受,不会破坏Google ToS。
看到我的答案是动态插入的<script>标签意味着工作? 为什么你不能使用innerHTML(当jQuery的函数传递一个HTML字符串时)映射到插入脚本元素。 document.write在文档被完全解析后使用时也会失败。
要解决这个问题,你将不得不使用DOM函数将元素插入到div中。 Google广告是iframe,因此通常是寻找iframe代码并附加代码。
要正确插入脚本元素,您需要使用DOM函数,例如:
var txt = 'alert("Hello");';
var scr = document.createElement("script");
scr.type= "text/javascript";
// We have to use .text for IE, .textContent for standards compliance.
if ("textContent" in scr)
scr.textContent = txt;
else
scr.text = txt;
// Finally, insert the script element into the div
document.getElementById("insert_here").appendChild(scr);
页面加载完成后,您无法使用document.write
。 相反,只需插入您想要写入的内容即可。
<script type="text/javascript">
$(function() { // This is equivalent to document.ready
var str="hello world";
$('#insert_here').append(str);
});
</script>
链接地址: http://www.djcxy.com/p/73445.html