Convertire JavaScript per la compatibilità nei browser obsoleti

fede220

Nuovo Utente
1 Apr 2019
6
0
1
Ciao non sono esperto di programmazione ed ho una pagina web salvata con JavaScript ma quando la apro con Internet Explorer con modalità compatibilità IE5 visualizzo l'errore "L'oggetto non supporta la proprietà o il metodo 'querySelector'" quindi mi chiedo se è possibile convertire e rendere il codice compatibile con i browser obsoleti (Internet Explorer e Netscape). Il problema sembrano le proprietà o i metodi querySelector e addEventListener che non sono supportati e non so se esistono delle alternative per farlo funzionare nei browser obsoleti. Il codice è JavaScript è questo:
JavaScript:
function TicTacToe(selector) {

    var main_element = document.querySelector(selector),
        score_X = main_element.querySelector('.score.X'),
        score_O = main_element.querySelector('.score.O'),
        board = main_element.querySelector('.board'),
        grid_options = main_element.querySelector('.grid-options'),
        reset_btn = main_element.querySelector('.btn-reset');

    var grid_size = 3,
        moves = 0,
        scores = {
            X: 0,
            O: 0
        },
        data = {};

    grid_options.addEventListener('change', function(e){
      grid_size = parseInt(e.target.value);
      init();
    });

    init();

    reset_btn.addEventListener('click', init);

    function paint() {
        var table = '<table>';
        for (var i = 0; i < grid_size; i++) {
            table += '<tr>';
            for (var j = 0; j < grid_size; j++) {
                table += '<td row="' + i + '" column="' + j + '"></td>';
            }
            table += "</tr>";
        }
        board.innerHTML = table;

        var columns = board.getElementsByTagName('td');
        for (i = 0; i < columns.length; i++) {
            columns[i].addEventListener('click', mark);
        }

    }

    function mark(e) {

        var td = e.target;

        if (td.innerHTML) {
            return;
        }

        var row = td.getAttribute('row'),
            column = td.getAttribute('column');

        var current_mark = moves % 2 === 0
            ? 'X'
            : 'O';

        td.innerHTML = current_mark;
        td.classList.add(current_mark);
        data[row + '' + column] = current_mark;

        moves++;

        setTimeout(function() {
            if (didWin(current_mark)) {
                alert(current_mark + ' vince la partita!');
                scores[current_mark]++;
                updateScoreboard();
                empty();
            } else if (moves === Math.pow(grid_size, 2)) {
                alert("Pareggio!");
                empty();
            }
        }, 0);

    }

    function didWin(mark) {

        var vertical_count = 0,
            horizontal_count = 0,
            right_to_left_count = 0,
            left_to_right_count = 0;

        for (var i = 0; i < grid_size; i++) {

            vertical_count = 0;
            horizontal_count = 0;

            for (var j = 0; j < grid_size; j++) {

                if (data[i + '' + j] == mark) {
                    horizontal_count++;
                }

                if (data[j + '' + i] == mark) {
                    vertical_count++;
                }

            }

            if (data[i + '' + i] == mark) {
                left_to_right_count++;
            }

            if (data[(grid_size - 1 - i) + '' + i] == mark) {
                right_to_left_count++;
            }

            if (horizontal_count == grid_size || vertical_count == grid_size) {
                return true;
            }

        }

        if (left_to_right_count == grid_size || right_to_left_count == grid_size) {
            return true;
        }

        return false;
    }

    function empty() {
        moves = 0;
        paint();
        data = {};
    }

    function init() {
        empty();
        scores = {
            X: 0,
            O: 0
        };
        updateScoreboard();
    }

    function updateScoreboard() {
        score_X.innerHTML = scores.X;
        score_O.innerHTML = scores.O;
    }

}
 
Discussioni simili
Autore Titolo Forum Risposte Data
D [Javascript] Convertire ed adattare una data Javascript 1
B Trasformare/convertire codice javascript in link URL Javascript 11
L Script per convertire numeri in parole Javascript 2
D convertire questo stringa in mysqli PHP 4
T [A pagamento] convertire database Offerte e Richieste di Lavoro e/o Collaborazione 5
MarcoGrazia Convertire una data da un formato all'altro Snippet PHP 0
R Convertire slides Powerpoint in Pagine Web HTML e CSS 7
P Convertire Excel in PHP PHP 1
Shyson [PHP] Convertire lunghezza di focale PHP 13
S [PHP] Convertire un orario in un numero decimale PHP 2
L [PHP] convertire gli url ad forma semplice PHP 3
J Come convertire i file ost in file pst? Posta Elettronica 6
G [PHP] Oracle, convertire una query multiline in Json PHP 3
L [PHP] Drupal convertire sito dinamico. CMS (Content Management System) 1
fida convertire i video in mp3 Discussioni Varie 2
G [PHP] convertire data in formato italiano dopo query PHP 6
M [PHP] Convertire date da americana a italiana direttamente nel db PHP 6
jonnino2004 sito spa da convertire in app Sviluppo app per Android 1
L [PHP] Convertire web codeigniter in App PHP 0
C Convertire sito web in app Android o per Windows Sviluppo app per Android 0
ivarello C# Convertire i numeri in note Programmazione 1
B preventivo per convertire variabili js Offerte e Richieste di Lavoro e/o Collaborazione 1
alexbrasile PHP convertire la funzione fsockopen in curl PHP 0
T [PHP] Convertire Codice JAVA a PHP PHP 3
M [PHP] Come convertire data in formato testo PHP 4
felino [MySQL][phpMyAdmin] Convertire colonna da VARCHAR a DATE MySQL 3
M Script per convertire video youtube in mp3 PHP 1
M Mostrare il contenuto del database e convertire la data da timestamp PHP 2
M Convertire piccolo codice da lato server a client Javascript 1
Lui199909 Convertire numero decimale in binario PHP 11
il_bauscia Convertire router wireless in access point Reti LAN e Wireless 1
S convertire html5/jquery app in apk per android jQuery 0
A convertire php in apk Smartphone e tablet 0
J Convertire sito Desktop in versione Mobile HTML e CSS 0
Marcolotto Convertire PDF in Word [Era: PDF2Word] Discussioni Varie 1
D Convertire una stringa html in php PHP 5
C Convertire una data PHP 1
U php-mysql script per convertire valori $_POST PHP 2
M Convertire DB Access in MySQL MySQL 2
M Convertire data da formato italiano a timestamp PHP 2
Web Designer Come convertire pixel in cm con px2in converter Windows e Software 0
novello88 Da MKV ad AVI [Era: convertire file Matroska] Windows e Software 0
V Convertire video youtube in mp3 Social Media Marketing 2
O Convertire sito php procedural in php object oriented PHP 4
M Convertire il proprio sito personale in wordpress WordPress 4
A Convertire pagina php in .doc PHP 6
voldemort Convertire un file VOB in MOV Mac e Software 0
G Convertire le date in italiano mysql PHP 5
G Convertire KML in XML XML 2
Nyl Convertire sito passando a Drupal CMS (Content Management System) 3

Discussioni simili