jquery动态地将脚本附加到html元素

时间:2012-11-27 23:42:16

标签: javascript jquery

我需要动态地向div添加更多项目(视频。这是脚本形式)。在下面的代码中,append没有做任何事情。我也试图以字符串形式附加脚本(即“”)。我感谢任何帮助!!!!

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>

  <div>
      <script type="text/javascript" src="http://video.foxnews.com/v/embed.js?id=1993203907001&w=466&h=263"></script>
  </div>

<script>
$(document).ready(function() {
var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.src = 'http://video.foxnews.com/v/embed.js?id=1993203907001&w=466&h=263';
  $("div").append(script);
});
</script>

</body>
</html>

3 个答案:

答案 0 :(得分:1)

  

不安全的JavaScript尝试使用URL http://video.foxnews.com/v/video-embed.html?video_id=1993203907001&w=466&h=263&loc=从具有URL文件:/// C:/Users/###/Desktop/test.html的框架访问框架。域,协议和端口必须匹配。

您尝试从其他域访问某些内容=&gt; XSS

http://en.wikipedia.org/wiki/Cross-site_scripting

以及

https://support.ookla.com/entries/21097566-what-is-crossdomain-xml-and-why-do-i-need-it

答案 1 :(得分:1)

jQuery以特殊方式处理<script />标记(.append() - &gt; .domManip()
只需使用DOM方法.appendChild()代替

document.getElementsByTagName('div')[0].appendChild(script);​

阅读this answer以深入了解 why

答案 2 :(得分:-1)

尝试替换此行

$("div").append(script);

用这个

document.getElementsByTagName('div')[0].appendChild(script);​

<强> Check Fiddle

本机.appendChild方法似乎正在运行,但是 jQuery .append()似乎没有出于某种原因......