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

AngularJS在扩展页面中将URL更改为“不安全:”

林富
2023-03-14
问题内容

我正在尝试将Angular与一系列应用程序结合使用,并且每个链接都是一个链接,可用于更详细地查看应用程序(apps/app.id):

<a id="{{app.id}}" href="apps/{{app.id}}" >{{app.name}}</a>

每次我点击其中一个链接时,Chrome都会将该网址显示为

unsafe:chrome-extension://kpbipnfncdpgejhmdneaagc.../apps/app.id

哪里unsafe:来的?


问题答案:

您需要使用正则表达式将URL协议显式添加到Angular的白名单中。只有httphttpsftpmailto默认启用。unsafe:使用诸如的协议时,Angular会将未列入白名单的URL
作为前缀chrome-extension:

chrome-extension:协议列入白名单的好地方是在模块的配置块中:

var app = angular.module( 'myApp', [] )
.config( [
    '$compileProvider',
    function( $compileProvider )
    {   
        $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|chrome-extension):/);
        // Angular before v1.2 uses $compileProvider.urlSanitizationWhitelist(...)
    }
]);

当需要使用诸如file:和的协议时,同样的步骤也适用tel:

请参阅AngularJS $ compileProvider
API文档
以获取更多信息。



 类似资料:
  • 问题内容: 假设从CGI开始,我已经将文件显示为文件。我想将的文件扩展名更改为显示文件。我该怎么做? 问题答案: , 例如:

  • 问题内容: 如何在不刷新页面的情况下更改URL? 我已经用CodeIginer建立了一个网站,我想在我的页面之一中实现AJAX和JQuery。问题是; 当我加载内容时,URL不会改变。 假设我有URL 和另一个URL: 单击按钮时如何将第一个URL更改为第二个URL? 问题答案: 在HTML5中,您可以更改URL: 检查http://spoiledmilk.com/blog/html5-chang

  • 扩展说明 对等网络节点组网器。 扩展接口 org.apache.dubbo.container.page.PageHandler 扩展配置 <dubbo:protocol page="xxx,yyy" /> <!-- 缺省值设置,当<dubbo:protocol>没有配置page属性时,使用此配置 --> <dubbo:provider page="xxx,yyy" /> 已知扩展 org.ap

  • 有没有办法在presto中有效地将行扩展为列? 我尝试用“where team=1”和“where team=2”分别过滤原始数据集,首先相应地获得dataset1和DataSet2,然后在income_level上连接这两个数据集。然而,当income_level有太多不同的值时,这是不方便的。有没有什么高效的方法可以得到我想要的结果?

  • 问题内容: 我在AngularJS路由方面遇到了一个大问题。 直到最近,通过以下路线一切都很好: 并使用href: 但是,现在所有的斜杠都被编码为。 因此,当我单击链接或键入浏览器时,URL更改为: http:// localhost:8000 /#%2Falbum%2F1 我已经尝试了几种方法来纠正此问题: 在Windows 10上使用ng- href代替href,不使用第一个/(即)在Home

  • 我在一个AEM项目中工作,开发的一部分是使用访问内容。 当导航到另一个页面时,它会将我重定向到(仔细观察链接没有扩展名),为了查看新网页,我不得不添加手动扩展。 我是否只能在开发环境中自动执行此操作? 使用的版本: AEM:6.3 构建版本:20170420 我已经完成了添加。已选定页面的html扩展,但不太有用