Penanda halaman menyebabkan ralat sintaks dalam kod Javascript
P粉127901279
P粉127901279 2024-04-01 16:16:44
0
1
557

(Latar Belakang: Saya cuba menggunakan kod JS yang terdapat di sini https://github.com/refined-github/refined-github/issues/1892 tetapi menggunakan penanda halaman untuk memuatkan semua komen dalam GitHub PR)

Saya mempunyai kod JS berikut yang berfungsi dengan baik apabila ditampal ke dalam konsol (Chrome).

(() => {
    let tryAttempts = 0;

    function loadComments () {
        let needRescheduling = false;
        const buttons = document.querySelectorAll(".ajax-pagination-btn[data-disable-with]")
        
        buttons.forEach((button) => {
            button.click();
            needRescheduling = true;
            tryAttempts = 0;
        })
        
        if (needRescheduling || tryAttempts < 5) {
            if (needRescheduling) {
                console.log("Loading comments.")
            } else {
                console.log("Looking for more to load.");
            }
            tryAttempts++;
            setTimeout(loadComments, 500)
        } else {
            console.log("All comments loaded.");
    
            const resolvedButtons = document.querySelectorAll(".js-toggle-outdated-comments[data-view-component]");
    
            resolvedButtons.forEach((button) => {
                button.click();
            })
            
            console.log("All resolved comments loaded.")
        }
    }
    loadComments();

})();

Kemudian saya cuba menanda halaman dalam Chrome untuk menukarnya kepada

javascript: (() => {    let tryAttempts = 0;    function loadComments () {        let needRescheduling = false;        const buttons = document.querySelectorAll(".ajax-pagination-btn[data-disable-with]")                buttons.forEach((button) => {            button.click();            needRescheduling = true;            tryAttempts = 0;        })                if (needRescheduling || tryAttempts < 5) {            if (needRescheduling) {                console.log("Loading comments.")            } else {                console.log("Looking for more to load.");            }            tryAttempts++;            setTimeout(loadComments, 500)        } else {            console.log("All comments loaded.");                const resolvedButtons = document.querySelectorAll(".js-toggle-outdated-comments[data-view-component]");                resolvedButtons.forEach((button) => {                button.click();            })                        console.log("All resolved comments loaded.")        }    }    loadComments();})();

Ini akan menghasilkan ralat sintaks. Uncaught SyntaxError:意外的标识符“按钮”

Apa salah saya di sini?

P粉127901279
P粉127901279

membalas semua(1)
P粉744691205

Kod anda bergantung pada sisipan koma bertitik automatik.

Iaitu, terdapat tempat dalam kod anda yang menggunakan pemutus baris dan bukannya koma bertitik.

Tidak kira kaedah yang anda gunakan untuk menukarnya kepada penanda buku, baris baharu ini akan dialih keluar, tetapi anda tidak akan dapat menggantikannya dengan koma bertitik.

Anda perlu menambah koma bertitik secara manual atau membetulkannya supaya koma bertitik dimasukkan secara automatik.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan