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):/);
}]);
我正在尝试将 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):/);
}]);