我正在使用 dojo 编写一个单页网站。教程描述了如何使用 dojo/request 来发出 ajax 请求。我可以简单地发出请求,接收 html 内容并将其插入内容面板(div 元素)。这也在样本中得到证明。
当我开始加载具有某些所需功能的真实内容时,我还需要向 ajax 调用请求的内容添加一个脚本元素。问题是接收到的带有 ajax 内容的脚本没有被执行。
我尝试使用contentNode.innerHTML = data;
并且domConstruct.place(data, contentNode, "only");
在这两种情况下都显示了内容,但未执行内容中的脚本。
据我了解,还有一个dijit.layout.ContentPane
更适合在设计时加载内容,而不是运行时。
在加载内容之前我无法执行脚本,因为在每个页面中都有一些我需要处理的元素,而且它们很简单,在加载主页时不可用。例如,我需要更改表单提交行为。
那么我该怎么做才能执行加载的脚本呢?