【发布时间】:2016-07-25 09:36:28
【问题描述】:
尝试显示来自 Firebase 存储和数据库的图像和链接。在桌面浏览器和 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>
谢谢
【问题讨论】:
-
您是否在调试器中单步执行了代码?它是否进入
then()块?那时的url是什么? -
@FrankvanPuffelen,嗨,dbRef1.on('value', snap => element.href = snap.val());在 safari 的调试器中,这会导致意外令牌“>”的错误,这也是控制台中打印的 url 的图像,不确定这是否是您的意思,但是 Image
标签: iphone firebase firebase-storage