Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传递函数参数仅在Firefox中有效_Javascript - Fatal编程技术网

Javascript 传递函数参数仅在Firefox中有效

Javascript 传递函数参数仅在Firefox中有效,javascript,Javascript,这可能真的很简单,但我似乎无法理解 我正在从Firebase查询数据,然后试图将参数传递给一个名为createPostElement的函数,该函数创建我的HTML元素。 出于某种原因,我的代码只在Firefox中有效 从dbreObject传递数据似乎不起作用。没有错误,什么都没有 function createPostElement(title, categories, audio, key, thumbnail) { var html = '<div class="title"&g

这可能真的很简单,但我似乎无法理解

我正在从Firebase查询数据,然后试图将参数传递给一个名为
createPostElement
的函数,该函数创建我的HTML元素。 出于某种原因,我的代码只在Firefox中有效

dbreObject
传递数据似乎不起作用。没有错误,什么都没有

function createPostElement(title, categories, audio, key, thumbnail) {
  var html = '<div class="title">' + title +'</div>';
  var container = document.getElementById('page-content');
  container.insertAdjacentHTML('beforeend', html);
}

function startDatabaseQueries() {
  // Create reference
  const dbRefObject = firebase.database().ref().child('podcasts');

  // Sync object changes
  var fetchPosts = function() {
    dbRefObject.on('child_added', function(snap) {
      createPostElement(snap.val().title, snap.val().categories, snap.val().audio, snap.key, snap.val().thumbnail);
    });
  };

  // Fetching and displaying all posts of each sections.
  fetchPosts();
}

startDatabaseQueries();
函数createPostElement(标题、类别、音频、键、缩略图){
var html=''+title+'';
var container=document.getElementById('page-content');
container.insertAdjacentHTML('beforeend',html);
}
函数startDatabaseQueries(){
//创建引用
const dbreObject=firebase.database().ref().child('podcast');
//同步对象更改
var fetchPosts=function(){
DbreObject.on('child_added',函数(snap){
createPostElement(snap.val().title,snap.val().categories,snap.val().audio,snap.key,snap.val().缩略图);
});
};
//获取并显示每个部分的所有帖子。
fetchPosts();
}
startDatabaseQueries();

我会在事件处理程序中放置一条调试器语句,但在调用createPostElement之前,并在传递给函数之前查看引用指向什么。那么您的意思是,如果不传递任何参数,函数就会工作?如果你确实传递了参数,即使是简单的原语,它仍然不起作用?在这种情况下“起作用”是什么意思?你只是看不到展览吗?这个函数根本没有被调用吗?如果是,您如何验证这一点?我在你的代码示例中没有看到任何日志记录。该函数在Firefox中运行良好。数据在页面上传递和呈现。甚至“DbreObject”中的控制台日志也不会显示在Edge上,Chrome和SafariI刚刚发现这是身份验证问题。代码没有问题。我只是通过Firefox认证的——愚蠢的我。无论如何谢谢你!