我正在使用 ASP.NET MVC。我有一个 View 加载部分中部分 View 的内容。
问题是部分 View 中有一些脚本引用。因此,当我在主页中加载该部分 View 的内容时,脚本标记将被删除以保护 View 免受脚本注入(inject)攻击。
我尝试了不同的方法来从部分页面内容中过滤脚本标签并单独加载主题,但没有成功。
例如,我尝试过滤脚本标签并将它们附加在主页的头部,如下所示:
var scripts = $(content).filter('script');
$(scripts).each(function() {
$('head').append($(this));
我还尝试使用 $.getscript 加载这些脚本。该函数执行得很好,但它们没有出现在 Chrome 开发人员工具的页面资源中。我无法在这些脚本中使用函数。
我怎样才能实现这个目标?
最佳答案
您可以将脚本的所有引用移至主视图,也可以使用 $.ajax“dataType as script”动态加载脚本:
http://docs.jquery.com/Specifying_the_Data_Type_for_AJAX_Requests
$.ajax({
dataType : 'script',
url : 'http://example.com',
success : function() {
console.log(a);
}
});
关于javascript - 在 ASP.NET MVC 中动态加载脚本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16185128/