尝试显示来自Firebase Storage& Storage的图像和链接。数据库。在桌面浏览器和Android设备上完美运行,但不会在iOS设备上显示(移动safari)。有什么明显的我在这里失踪或者它可能是一个错误吗?页面只显示图像链接所在的空间。
下面的代码解除了。显然,在其他浏览器上工作的Firebase都已正确初始化,因此不包括脚本标记。
<div class="livewire1">
<a href="" target="_blank" ><img id="myimg" width="100%" height="100%"/></a>
<script>
var anchors = document.querySelectorAll('a');
Array.prototype.forEach.call(anchors, function (element, index) {
var dbRef1 = firebase.database().ref().child('sponsorlink/hole01');
dbRef1.on('value', snap => element.href = snap.val());
});
var storageRef = firebase.storage().ref();
var imagesRef = storageRef.child('banner_ads');
var fileName = 'ban_01.png';
var bannerRef = imagesRef.child(fileName);
bannerRef.getDownloadURL().then(function(url) {
var banner1 = url;
document.getElementById('myimg').src = banner1;
}).catch(function(error) {
});
</script>
</div>
由于
答案 0 :(得分:0)
通过Frank van Puffelen并在safari mobile上检查调试器,间接解决了我的问题,但意外的语法&#34;&gt;&#34;在snap值上
dbRef1.on('value', snap => element.href = snap.val());
似乎是导致存储图像无法加载的原因。
Safari和Internet Explorer不支持的ES6箭头功能。 AngularJS - SyntaxError: Unexpected token '>'error in Safari Browser
通过以下方式解决:
dbRef1.on('value', function(snap) { element.href = snap.val()});