Как включить jQuery в мой файл js без html - PullRequest
0 голосов
/ 26 января 2020

Я сделал расширение chrome, где моя всплывающая кнопка вызывает скрипт. Другой сценарий использует jQuery, но я получаю сообщение об ошибке, говорящее, что jQuery не определено.

Мое всплывающее окно. html:

<!DOCTYPE html>
<html>
    <head>
        <title>HomAttendance</title>
    </head>
    <body>
        <h1 style="color:#E54E4E">Hom<span style="color:#4E97E5">Attendance</span></h1>
        <button type id="record" style="background-color:White"><h1 style="color:Black">Record Attendance</h1></button>
    </body>
    <script src="jquery-3.4.1.min.js"></script>
    <script src="popup.js"></script>
</html>

Мое всплывающее окно. js:

document.addEventListener('DOMContentLoaded', function() {
  var login = document.getElementById('record');
  login.addEventListener('click', function() {
    chrome.tabs.executeScript({file: 'markStudents.js'});
  });
});

myScript. js:

var arrays = []
$.get('Attendance.txt', function(data){

    var splitted = data.split("\n"); // --> should return an array for each line 

    // Loop through all lines 
    for(var i = 0; i < splitted.length; i++) 
    {

        var line = splitted[i]; 

        // Now you could remove [ and ] from string  
        var removed = line.replace('[','').replace(']','');
        var refined = removed.replace(' ', '');

        // Now you can split all values by using , delimiter
        var values = refined.split(',');  
        var array = [];
        // Now you can iterate through all values and add them to your array
        for(var c = 0; c < values.length; c++) 
        {
            var value = values[c]; 
            array.push(value);
        }
        arrays.push(array);
    }
});
var present = arrays[0];
console.log(present);
var absent = arrays[1];
console.log(absent);

var user = present[0];
var pass = absent[0];
var loginField = document.getElementById('fieldAccount');
var passwordField = document.getElementById('fieldPassword');
loginField.value = user;
passwordField.value = pass;
var loginForm = document.getElementById('btn-enter-sign-in');

Есть ли способ включить мой jquery. js в myScript. js?

Ошибка консоли

Ответы [ 3 ]

1 голос
/ 26 января 2020

Просто импортируйте jquery, прежде чем импортировать всплывающее окно. js

Вот так

<!DOCTYPE html>
<html>
    <head>
        <title>HomAttendance</title>
    </head>
    <body>
        <h1 style="color:#E54E4E">Hom<span style="color:#4E97E5">Attendance</span></h1>
        <button type id="record" style="background-color:White"><h1 style="color:Black">Record Attendance</h1></button>
    </body>
    <script src="jquery-3.4.1.min.js"></script>
    <script src="popup.js"></script>
</html>

Внутри вашего всплывающего окна. js, когда вы загружаете markStudents. js, который использует jQuery, вам снова придется загрузить jQuery перед тем же

Как это

document.addEventListener('DOMContentLoaded', function () {
    var login = document.getElementById('record');
    login.addEventListener('click', function () {
        chrome.tabs.executeScript(null, { file: "jquery-3.4.1.min.js" }, function () {
            chrome.tabs.executeScript(null, { file: "markStudents.js" });
        });
    });
});
0 голосов
/ 26 января 2020

Вы можете использовать этот код для включения другого jquery файла в ваш jquery:

$.getScript("file address");

, например:

$.getScript("/assets/pages/scripts/ui-blockui.min.js");
0 голосов
/ 26 января 2020

Просто измените порядок тегов скрипта и поставьте jQuery перед всплывающим окном. js. Таким образом, он будет загружен при попытке вызвать его.

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