Мой javascript не будет работать на моем приложении Chrome - PullRequest
0 голосов
/ 09 мая 2018

Я занимаюсь разработкой приложения для Chrome (на Chromebook), и JavaScript не загружается. Это код, факт, что это приложение? Может кто-нибудь помочь? Вот мой код:

    <!DOCTYPE html>
<html>
<body>
<h1>Cash Register</h1>
//inputs
<input type="text" id="myText1" value="Name">
<input type="text" id="myText2" value="Price">
//add button
<button onclick="add()">Add</button>
//The total goes here
<div id="div1"><h2 id="demo1"><h2 id="demo2"></h2></div>
<script>
//my function
function add() {
    //variables
    var x = 'Total:'
    var y = document.getElementById("myText2").value;
    var z = document.getElementById("myText1").value;
    //writes the items you enter
    //makes a separating line
    var para = document.createElement("h4");
    var node = document.createTextNode('_____');
    para.appendChild(node);
    var element = document.getElementById("div1");
    element.appendChild(para);
    //makes the item
    var para = document.createElement("h4");
    var node = document.createTextNode(z);
    para.appendChild(node);
    var element = document.getElementById("div1");
    element.appendChild(para);
    //makes the price
    var para = document.createElement("p");
    var node = document.createTextNode(y);
    para.appendChild(node);
    var element = document.getElementById("div1");
    element.appendChild(para);
        //writes "Total (total price)"   
    var w = document.getElementsByTagName("p"); // this gets all the P's as an object
    // setup a total starting at 0
    var total = 0;

    for (var i = 0; i < w.length; i++) {
        total += parseInt(w[i].innerText);  // make the inner text an integer for addition.
    }
    document.getElementById("demo1").innerHTML = x;
    document.getElementById("demo2").innerHTML = total;  // replace w with total
}
</script>
</body>
</html>

Всё могло бы помочь. Если у вас есть решение, прошу подать его мне! Спасибо. Кстати, я новичок в этом. Когда я ставлю это через Jshint, это то, что я получил: (изображение)

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Итак, все, что мне нужно было сделать, это добавить

//my function
function add() {
    //variables
    var x = 'Total:';
    var y = document.getElementById("myText2").value;
    var z = document.getElementById("myText1").value;
    //writes the items you enter
    //makes a separating line
    var para = document.createElement("h4");
    var node = document.createTextNode('_____');
    para.appendChild(node);
    var element = document.getElementById("div1");
    element.appendChild(para);
    //makes the item
     para = document.createElement("h4");
     node = document.createTextNode(z);
    para.appendChild(node);
     element = document.getElementById("div1");
    element.appendChild(para);
    //makes the price
     para = document.createElement("p");
     node = document.createTextNode(y);
    para.appendChild(node);
     element = document.getElementById("div1");
    element.appendChild(para);
    //writes "Total (total price)"   
     var w = document.getElementsByTagName("p"); // this gets all the P's as an object
    // setup a total starting at 0
     var total = 0;

    for (var i = 0; i < w.length; i++) {
        total += parseInt(w[i].innerText);  // make the inner text an integer for addition.
    }
    document.getElementById("demo1").innerHTML = x;
    document.getElementById("demo2").innerHTML = total;  // replace w with total
}




document.addEventListener('DOMContentLoaded', function() {
    var link = document.getElementById('link');
    // onClick's logic below:
    link.addEventListener('click', function() {

        add()


    });
});

в файл javascript и измените мой тег сценария на

<script src="add.js"></script>

Если кто-то хочет использовать это, вот код:

Manifest:

{
  "name": "Cash register",
  "description": "Use at garage sales",
  "version": "0.1",
  "manifest_version": 2,
  "app": {
    "background": {
      "scripts": ["background.js"]
    }
  },
  "icons": { "16": "calculator-16.png", "128": "calculator-128.png" }
}

background.js:

chrome.app.runtime.onLaunched.addListener(function() {
  chrome.app.window.create('index.html', {
    'outerBounds': {
      'width': 400,
      'height': 500
    }
  });
});

add.js:

//my function
    function add() {
        //variables
        var x = 'Total:';
        var y = document.getElementById("myText2").value;
        var z = document.getElementById("myText1").value;
        //writes the items you enter
        //makes a separating line
        var para = document.createElement("h4");
        var node = document.createTextNode('_____');
        para.appendChild(node);
        var element = document.getElementById("div1");
        element.appendChild(para);
        //makes the item
         para = document.createElement("h4");
         node = document.createTextNode(z);
        para.appendChild(node);
         element = document.getElementById("div1");
        element.appendChild(para);
        //makes the price
         para = document.createElement("p");
         node = document.createTextNode(y);
        para.appendChild(node);
         element = document.getElementById("div1");
        element.appendChild(para);
        //writes "Total (total price)"   
         var w = document.getElementsByTagName("p"); // this gets all the P's as an object
        // setup a total starting at 0
         var total = 0;

        for (var i = 0; i < w.length; i++) {
            total += parseInt(w[i].innerText);  // make the inner text an integer for addition.
        }
        document.getElementById("demo1").innerHTML = x;
        document.getElementById("demo2").innerHTML = total;  // replace w with total
    }




    document.addEventListener('DOMContentLoaded', function() {
        var link = document.getElementById('link');
        // onClick's logic below:
        link.addEventListener('click', function() {

            add()

index.html:

<html>
    <head>
        <script src="add.js"></script>
    </head>
    <body>

<h1>Cash Register</h1>

<input type="text" id="myText1" value="Name">

<input type="text" id="myText2" value="Price (numbers only)">

<a id="link">Add</a>

    <div id="div1"><h2 id="demo1"></h2><h2 id="demo2"></h2></div>





</body></html>

Спасибо всем !!!

0 голосов
/ 10 мая 2018

Хорошо, вы создаете одни и те же элементы с одним и тем же именем три раза, и я не вижу, как вы используете дополнительные теги и элементы, но это, скорее всего, причина, по которой выдается ошибка.

Попробуйте ввести код через http://jshint.com, и вы увидите свои проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...