2016-07-25 10 views
0

Firebase Storage &データベースから画像とリンクを表示しようとしています。デスクトップブラウザやAndroid搭載端末でも正常に動作しますが、iOS端末(モバイルサファリ)では表示されません。私がここで行方不明になっていることは明らかか、バグかもしれませんか?ページには、イメージリンクが存在するはずのスペースだけが正しく表示されます。(Firebase Storage)ホストされた画像がiPhoneブラウザに表示されません

コードが下に持ち上げられました。明らかに、他のブラウザの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

あなたは、デバッガでコードをステップ実行しましたか?それは 'then()'ブロックに入りますか?その時点で「url」とは何ですか? –

+0

@FrankvanPuffelen、こんにちは、dbRef1.on( 'value'、snap => element.href = snap.val());サファリのデバッガでは予期しないトークン ">"にエラーが発生します。これはコンソールに表示されたURLのイメージでもありますが、これがどういう意味であるかはわかりません[Image:http://www.w1gcms。 club/debug/screen1.png) –

答えて

0

が間接的にフランク・バンPuffelenのおかげで私の問題を修正し、サファリモバイル上でデバッガをチェックしますが、予期しない構文は「>」スナップ値に dbRef1.on('value', snap => element.href = snap.val()); を引き起こしていたものと思われましたストレージイメージはロードされません。

SafariおよびInternet ExplorerではサポートされていないES6 arrow機能。以下で解決AngularJS - SyntaxError: Unexpected token '>'error in Safari Browser

dbRef1.on('value', function(snap) { element.href = snap.val()}); 
関連する問題