在silverstripe项目中我通过ajax加载整个页面。因此我添加了Page-Contoller跟随功能:
public function ajax(){
return $this->renderWith('MyTemplate');
}
到目前为止,此工作正常,我在浏览mysite.com/mypage/ajax时可以按需要呈现页面。唯一的问题是模板“MyTemplate”中包含的JS / CSS文件:
<% require javascript(my.js) %>
<% require css(my.css) %>
css / js没有显示在源代码中 - 不知何故它没有包含在内,尽管它是模板“MyTemplate”的一部分。
那么有没有办法用silverstripe方法以很酷的方式添加css / js?
我试过了:
public function ajax(){
Requirements::css("my.js");
return $this->renderWith('ProjectPage');
}
到目前为止没有成功。
非常感谢,
弗洛里安
答案 0 :(得分:1)
您需要将以下javascript文件加载到您的网站中,具体取决于silverstripe版本:
SS3 - /framework/javascript/jquery-ondemand/jquery.ondemand.js
OR
SS2.4 - / sapphire / javascript / core / jquery.ondemand.js
据我了解;当您发出ajax请求时,任何新的css或javascript要求都会添加到请求标头中。然后,当请求成功时,ondemand.js会将这些脚本拉到文档中,如果它们不在那里。