(Firebase 存储)托管图像未显示在 iPhone 浏览器上
(Firebase Storage) hosted image doesnt display on iPhone browser
正在尝试显示来自 Firebase 存储和数据库的图像和 link。在桌面浏览器和 android 设备上运行良好,但在 iOS 设备(移动 safari)上不显示。有什么明显的我在这里遗漏的东西或者它可能是一个错误吗?该页面正确显示只有一个 space,其中图像 link 应该是。
下面提取了代码。显然,在其他浏览器上工作时,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>
谢谢
感谢 Frank van Puffelen 并在 safari mobile 上检查调试器,间接解决了我的问题,但 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()});
正在尝试显示来自 Firebase 存储和数据库的图像和 link。在桌面浏览器和 android 设备上运行良好,但在 iOS 设备(移动 safari)上不显示。有什么明显的我在这里遗漏的东西或者它可能是一个错误吗?该页面正确显示只有一个 space,其中图像 link 应该是。
下面提取了代码。显然,在其他浏览器上工作时,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>
谢谢
感谢 Frank van Puffelen 并在 safari mobile 上检查调试器,间接解决了我的问题,但 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()});