我试图显示base64编码的图像(html是一个AngularJS指令模板):
<div id="iframe" ng-hide="loading"></div>
<img ng-show="loading" id="tweetLoader" src="data:image/gif;base64,R0lGODlhIAAgAPYAAP///wAAAP...AAAAAA==" >
<div class="error" ng-show="errorMessage">{{errorMessage}}</div>
我删除了部分base64代码,因为它很长,如果它是绝对需要的,我会添加它。
Chrome(在firefox中没有发生这种情况)向我显示以下错误:
XMLHttpRequest无法加载 图像/ GIF; BASE64,R0lGODlhIAAgAPYAAP /// wAAAP ... AAAAAA ==。 只有HTTP支持跨源请求。
此外,每次都没有显示此错误..这似乎很随意。
我正在使用AngularJS 1.2.21
是铬虫还是什么?
感谢。
答案 0 :(得分:1)
我没有标记为重复,因为它不是同一个问题,但我认为答案可以帮助你 chrome.webRequest cross-origin disallowed scheme on redirect to data::
您的请求失败,因为数据:直到Chrome 39才支持通过XMLHttpRequest访问-URI。(从Chrome 39开始,您将能够使用XMLHttpRequest获取数据:-URIs,有关详细信息,请参阅http://crbug.com/308768)
答案 1 :(得分:0)
如果您正在使用Chrome安全限制,以防止它从网址加载图片,那么只需添加此属性即可正常工作
img.crossOrigin = " ";
对于chrome alse来说没问题