Rozszerzenie Chrome - start skryptu z popup.html

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ć?

0

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

0

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

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/questions/4601325/trigger-events-in-iframes-parent-window

0

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

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