当前位置: 首页 > 面试题库 >

如何获得ng-include指令与内容分发网络一起使用?

王成化
2023-03-14
问题内容

是否可以使ng-include指令与CDN一起使用?

在这种情况下:

<div ng-include='http://cdn.somewebsite.com/templates/home.tpl.html'></div>

somewebsite.com的cdn子域通过DNS / CName映射到内容传递网络。

但是,在加载主网站somewebsite.com时,它不会呈现模板。我想在内部将其视为跨域调用。

是否有任何变通方法可以将Angular模板托管在第三方CDN上并与本地域一起使用?


问题答案:

是的,您是对的-问题出在跨域调用。
官方文档说:

默认情况下,模板URL限于与应用程序文档相同的域和协议。这是通过在其上调用$
sce.getTrustedResourceUrl来完成的。要从其他域或协议中加载模板,您可以将其列入白名单或将其包装为可信值。请参阅Angular的严格上下文转义。

请注意:浏览器的“相同来源策略”和“跨域资源共享(CORS)”策略除此以外还适用,并且可能进一步限制模板是否成功加载。这意味着,如果没有正确的CORS策略,则无法在所有浏览器上都无法从其他域加载模板。

例:

angular.module('myApp', []).config(function($sceDelegateProvider) {
  $sceDelegateProvider.resourceUrlWhitelist([
    // Allow same origin resource loads.
    'self',
    // Allow loading from outer templates domain.
    'http://cdn.somewebsite.com/templates/**'
  ]); 
});

有用的网址:

  • ngInclude
  • $ sce

因此,可以通过适当的角度设置来解决您的问题,但并非所有浏览器都可以解决。



 类似资料:
  • 问题内容: 我正在构建一个简单的angularjs应用,并且试图实现无需页面刷新的登录。 我在做什么 初始化时,ng-include会加载/ set / save。/ set / save 中有。因此,当单击指令时,将打开一个窗口,并且当关闭窗口时,应更改ng-include的src。 问题 当指令在ng-include内部使用时(ng-include src在init上具有默认值)时,什么都不会

  • 内容分发网络即CDN,用于实现域名加速访问等。 内容分发网络(Content Delivery Network,CDN)是构建在现有互联网基础之上的一层智能虚拟网络,通过在网络各处部署节点服务器,实现将源站内容分发至所有CDN节点,使用户可以就近获得所需的内容。CDN服务缩短了用户查看内容的访问延迟,提高了用户访问网站的响应速度与网站的可用性,解决了网络带宽小、用户访问量大、网点分布不均等问题。

  • 在JSP规范2.1中,我找到了一个关于JSP include指令和JSP include标记的示例: 对于更复杂的包含集示例,请考虑以下四种使用四个JSP文件构建的情况:a.JSP、C.JSP、dir/B.JSP和dir/C.JSP: 我不太理解这一点,尤其是第一种和最后一种情况,为什么在第一种情况下C.jsp不能解析为C.jsp?为什么c.jsp在最后一种情况下没有解析为dir/c.jsp?

  • 问题内容: 我有以下html可以使用$ dirty更改输入时起作用并更改div的类: 但是,当我尝试将此变为指令时,它的ng-class部分停止工作。谁能帮助我使其正常运行? 指示: }); 该指令的html是: 问题答案: 这是一个小矮人:http ://plnkr.co/edit/3AFOHZFgExZKHjnd3gb0?p=preview 在替换compile函数中的元素时,您应该: 手动编

  • 问题内容: 我的指令有 所以,我的问题是: 如何使用此指令将ng-disabled应用于元素? 问题答案: 您将设置一个范围变量,例如: 然后在指令中可以设置该变量:

  • 问题内容: 我正在阅读angularjs.org上的开发人员指南的指令部分,以刷新我的知识并获得一些见解,并且我尝试运行示例之一,但指令ng- hide不适用于自定义指令。 这里是jsfiddle:http : //jsfiddle.net/D3Nsk/: 知道为什么会这样吗? 解 似乎标记上的变量dialogIsHidden已经在指令中引用了作用域变量,而不是控制器中的变量;鉴于该指令具有其自己