javascript - 在 ASP.NET MVC 中动态加载脚本文件

标签 javascript asp.net-mvc dynamic partial-views

我正在使用 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/

相关文章:

java - 如何使用指定的 API 授予用户查看私有(private)文档的权限

javascript - 在 jquery 中突出显示页面和匹配选项卡

c# - Html Agility Pack - 选择子节点时出现问题

asp.net-mvc - 返回 IQueryable 时何时/如何处置 DbContext?

php - 如何在运行时(动态地)创建 PHP 静态类属性?

javascript - THREE.js 光线转换对单个> 500k 多边形(面)对象非常慢,线与地球相交

javascript - 为什么 [] == ![] 在 JavaScript 中为真?

asp.net-mvc - 如何批量设置所有 cshtml MVC View 以构建操作无?

c# - 动态依赖注入(inject)

c# - 具有动态参数的表达式树