3

我使用 Jquery 将变量插入到 div 中。请检查我的代码。

var msg = '<script src="https://gist.github.com/3010234.js?file=new.html.erb"></script>'
$('.result').html(msg);

msg 变量包含呈现代码片段的脚本。msg 是动态变量。

上面的代码无法将代码片段插入 div。

任何想法?

这个脚本生成这样的代码片段。

在此处输入图像描述

4

4 回答 4

3

要添加script,我会head像这样添加它;

var s = document.createElement('script');
s.src = 'https://gist.github.com/3010234.js?file=new.html.erb';
s.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(s);
于 2012-07-05T06:36:36.060 回答
1
function loadScript() {
    var script = document.createElement("script");
    script.src = "https://gist.github.com/3010234.js?file=new.html.erb";
    script.type = "text/javascript";
    document.getElementById("result").appendChild(script);
}
于 2012-07-05T06:37:17.680 回答
1

您不能使用该嵌入代码将 github gist 动态加载到页面中。如果您可以将脚本标记添加到 HTML,则嵌入代码很好,但是要通过 JavaScript 动态执行此操作,因为它依赖于document.write().

相反,请使用github gists api

$.get("https://api.github.com/gists/3010234", function(response) {
    $(".result").text(response.data.files["new.html.erb"].content);
}, "jsonp");

工作演示:http: //jsfiddle.net/naTqe/

于 2012-07-05T06:39:12.090 回答
0

看起来你的远程 JS 有问题。我通过JS Lint运行它并提出了几个错误。

无论如何,这是我的工作示例。保持 javascript 控制台打开,当它尝试解析远程 JS 时,您会看到错误。

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <script type="text/javascript" src=
  "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  <title>Jquery test</title>
</head>

<body>
  <h1>jQuery</h1>

  <p class="result">Some result</p>
  <script>
  /*<![CDATA[*/
  $(document).ready(function(){
  var msg = '<script type="text/javascript" src="http://gist.github.com/3010234.js?file=new.html.erb"><\/script>";
  $('.result').html(msg);
  });
  /*]]>*/
  </script>
</body>
</html>
于 2012-07-05T07:09:11.877 回答