lightbox2 不安全数据图像

lightbox2 unsafe data image

我正在尝试将 lightbox2 与数据 URL 一起使用,该数据由 Angularjs 动态设置,但由于某种原因它没有显示图像。在我的控制台中,我收到一条错误消息,显示数据 URL 我使用 ng-href 动态设置,但 "unsafe" 是 url.

的前缀

有人知道为什么会这样吗?我已经将 "data" 添加到 Angular 的白名单中,并且我还看到 DOM 中的 href 是正确的。

config(['$compileProvider',
        function ($compileProvider) {
            $compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|local|data):/);
        }]);

没有 "unsafe" 前缀,只有当我点击 link 时才会出现此错误。

我在控制台中得到的错误如下所示:

unsafe:data:image/png;base64,net:{the base 64 string}:ERR_UNKNOWN_URL_SCHEME

我的 link 看起来像这样:

<a ng-href="data:image/png;base64,{{schedule.flyer}}" data-lightbox="image-1" data-title="My caption" >

如果我直接在普通 href 中添加 base64 字符串,它就可以正常工作。有人知道如何让它工作吗?

我认为您应该根据 https://docs.angularjs.org/api/ng/provider/$compileProvider

使用 aHrefSanitizationWhitelist 方法

问题是我配置了错误的白名单。我应该使用以下代码:

config(['$compileProvider',
        function ($compileProvider) {
            $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|local|data):/);
        }]);