0

我有一个带有 5 个按钮的菜单。在每个项目单击时,我想 AJAX 加载一个包含一些脚本的 HTML 文件。加载的文件如下所示:

<div>
  someContent...
</div>
<script>
FileScriptObject = {
  init: function() {
  },

  cleanup: function() {
  },
};
</script>

我希望能够 $("#someDiv").load("externalFile.html"); 并以某种方式获取该 FileScriptObject。可能吗?

4

2 回答 2

0

有一个jQuery函数:

$.ajax({
  url: url,
  dataType: "script",
  success: success
});
于 2013-08-04T01:28:24.560 回答
0

如果我理解您的问题,那么我认为您有兴趣动态加载新的脚本文件。这是完全可能的;例如,如果我想加载一个名为的 js 文件,newScript.js那么我可以创建一个脚本标签<script type="text/javascript" src="newScript.js"></script>并将其添加到标题中。为此,我可以执行以下操作:

var head = document.getElementByTagName("head")[0];
var newScript = document.createElement("script");
newScript.type = "text/javascript";
newScript.onreadystatechange = function() {
    if(this.readystate == "complete") {
        // Script loaded
    }
}
newScript.src = "newScript.js";
newScript.onload = function() {
    // Script loaded
}
head.appendChild(newScript);

请注意,有两个不同的负载处理程序,这是因为readystate检查是针对 IE 而onload针对其他的。

于 2013-08-04T01:53:03.260 回答