(Firebase存储)托管图片无法在iPhone浏览器

时间:2016-07-25 09:36:29

标签: iphone firebase firebase-storage

尝试显示来自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>

由于

1 个答案:

答案 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()});