簡體   English   中英

本地JS腳本,SRC無法正確引用

[英]Local JS Script, SRC Not Referencing Properly

我有一些簡單的JS代碼,用於存儲有關人員的數據,並將此數據讀/寫到Firebase(服務器后端)。 我認為代碼很好,但是我無法從“ index.html”文件訪問它們。 這是我的“ index.html”文件:

<link href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.12.0/vis.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.12.0/vis.min.js"></script>
<script type="text/javascript" src="https://cdn.firebase.com/js/client/2.3.2/firebase.js"></script>

<script type="text/javascript" src="./js/firebase.js , ./js/person.js">
  var bob = new Person("Bob");
  var alice = new Person("Alice");

  bob.addPersonToEat(alice);
  alice.addPersonToEat(bob);

  var firebaseUsers = new Firebase("https://web-of-hunger.firebaseio.com/users");

  addNewPerson(firebaseUsers, bob);
</script>

這是我的JS文件:

var Person = function(name) {
  this.data = {
    name : name,
    node : {
      id : "empty",
      label : name
    },
    edges : [],
    wantsToEat : [],
    wantsToBeEatenBy : []
  };
};

Person.prototype.addPersonToEat = function(person) {
  this.data.wantsToEat.push(person);
  person.data.wantsToBeEatenBy.push(this);

  this.data.edges.push(
    {from:this.data.node.id, to:person.data.node.id, arrows:'to'}
  );
};

Person.prototype.removePersonToEat = function(person) {
  this.data.wantsToEat.pop(person);
  person.data.wantsToBeEatenBy.pop(this);

  this.data.edges.pop(
    {from:this.data.node.id, to:person.data.node.id, arrows:'to'}
  );
};

而另一個:

var addNewPerson = function(usersRef, person) {
  if(!checkIfUserExists(person.data.node.id, usersRef)) {
    var newUser = usersRef.push();
    person.data.node.id = newUser.key();
    newUser.set(person.data);
  }
};

var updatePersonData = function(usersRef, person) {
  if(checkIfUserExists(person.data.node.id, usersRef)) {
    usersRef.child(person.data.node.id).update(person.data);
  }
};

var getPersonData = function(usersRef, person) {
  if(checkIfUserExists(person.data.node.id), usersRef) {
    usersRef.once("value", function(snapshot) {
      console.log(snapshot.val());
      return snapshot.val();
    }, function(errorObject) {
      console.log("read failed");
      return null;
    });
  }
};

var checkIfUserExists = function(userId, usersRef) {
  usersRef.child(userId).once("value", function(snapshot){
    if(snapshot.val() != null) {
      return true;
    }
    return false;
  });
};

我認為問題是我的腳本SRC參考被弄亂了。 我做了很多研究和工作,並且嘗試了每種解決方案。 但是,我的事情只是不想工作。 我以前從未發生過這種情況。

資料夾結構:

  • src
    • index.html
    • js
      • person.js
      • firebase.js

任何幫助表示贊賞。

您不能同時具有src屬性和腳本文本的<script>標記。 您必須為每個腳本使用單獨的腳本標簽。 據我所知,您也不能在src屬性中放置多個URL。 所以這:

<script type="text/javascript" src="./js/firebase.js , ./js/person.js">
  var bob = new Person("Bob");
  ...
</script>

需要細分為:

<script type="text/javascript" src="./js/firebase.js"></script>
<script type="text/javascript" src="./js/person.js"></script>
<script>
  var bob = new Person("Bob");
  ...
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM