Rozszerzenie Chrome - start skryptu z popup.html

Odpowiedz Nowy wątek
2019-02-10 18:41
0

Cześć, jestem w trakcie pisania bardzo prostego rozszerzenia do klikania na stronie. Chciałbym, żeby poprzez kliknięcie przycisku w popupie, skrypt na danej stronie się odpalał. Problem jest taki, że po wpisaniu w konsole:

document.getElementsByClassName("dclass")[1].click();

dany element się klika, jednak po wpisaniu go w takiej formie:
popup.html

<!DOCTYPE html>
<html>
    <head>

    </head>
    <body>
        <form>
            Size:<br>
            <input type="text" id="size"><br>
            <button id="btn">Start</button>
            <script src="test.js"></script>
        </form>
    </body>
</html>

test.js

document.getElementById("btn").addEventListener("click", clicker);

function clicker()
{
    document.getElementsByClassName("dclass")[1].click();
}

wyskakuje błąd, taki gdy nie znajduje tego elementu.
Domyślam się, że chodzi o to że wtedy ten skrypt szuka klasy dclass w popupie, ale pewny nie jestem.
Jak temu zaradzić?

edytowany 2x, ostatnio: Wonsik1, 2019-02-10 18:44

Pozostało 580 znaków

2019-02-10 19:50
0

A odpalasz js na samym końcu? Już po załadowaniu całego DOM?

Pozostało 580 znaków

2019-02-10 20:38
0

Tak, próbuje odpalić go na już załadowanej stronie.

Pozostało 580 znaków

2019-02-10 22:54
1

Czym jest popup? Częścią głównej strony, czy Twój skrypt go tworzy? Sądząc po kodzie to popup jest ładowany w jakimś iframe, skoro definiujesz całą strukturę razem z <!DOCTYPE html>? Bo jeśli ładujesz to w iframe, to nie wywołasz tak prosto kliknięcia ma zewnątrz, gdy event jest triggerowany w iframe. Musisz przekazać event w iframe i złapać go na zewnątrz. Coś w stylu: https://stackoverflow.com/que[...]ents-in-iframes-parent-window

Pozostało 580 znaków

2019-02-10 23:51
0

Zawartość pliku popup pokazuje się po kliknięciu na ikonę rozszerzenia w górnym pasku. Ok, przestudiuje

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0