Problem z biblioteką p5.js - nie wyświetla się tekst ani obrazek w "zwykłej" przeglądarce internetowej.

0

Witam,
uczęszczam na pewne szkolenie z Javy Script (poziom podstawowy, dotyczącej strony wizualnej w Java Script). Na tym szkoleniu prowadząca używa edytora kodu z biblioteki P5 oraz posiłkuje się biblioteką p5.js.

**Link do edytora z P5: **
[(https://editor.p5js.org/)]

P5 to jakaś biblioteka Javy Script. Na zajęciach klepiemy sobie kod w tym edytorze i wszystko niby działa. Ja w przeszłości "liznąłem" trochę frontend i chciałbym się tym zajmować profesjonalnie (jak się tego wszystkiego nauczę). Dlatego po zajęciach używam sobie programu Brackets i lokalnie na dysku komputera sobie działam.

Powtarzam sobie wykonywane ćwiczenia na moim komputerze i klepie kod w Bracketsie. Problem polega na tym, że już dwie rzeczy z tego kursu nie działają. Jak robię to lokalnie na dysku komputera, klepie kod w Bracketsie i włączam kod w przeglądarkach (Chrome, Mozzila, Edge, IE), to nic się nie wyświetla. Natomiast w edytorze P5 i w okienku previev tego edytora wszystko działa poprawnie. Prowadząca zajęcia uważa, że to wina przeglądarek, ich aktualizacji, braku jeszcze jakiś załatanych "dziur". Sugeruje, że należy poczekać aż wyjdą kolejne updaty. Ja niekoniecznie z tym się zgadzam, bo wg mnie nie jest to do końca logiczne. Bo co, bo bez update programista nie może sobie teraz wyświetlić tekstu czy obrazka..? Dlatego pytam na forum. Jak ktoś z Was zna odpowiedź na poniższy problem, to z góry serdecznie dziękuję. Jeżeli faktycznie jest to wina aktualizacji przeglądarek, to jak wyświetlić tekst (problem nr 1) i jak wyświetlić obrazek (problem nr 2)?

1) Tekst nie wyświetla się w żadnej przeglądarce (jedynie pojawia się napis: Loading...), chociaż wyświetlał się jeszcze przed update w przeglądarce EDGE. Po zrobieniu update przestał się wyświetlać. Natomiast w edytorze P5 w okienku previev wyświetla się.

W jednym folderze mam następujące pliki:

index.html
p5.js
robotocondensed-regular.ttf
script.js

KOD PLIKU index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Kurs JS WSKSIM</title>
<script src="p5.js"></script>
</head>
<body>
<script type="text/javascript" src="script.js"></script>
</body>
</html>

KOD PLIKU script.js

var font, fontsize = 32;                 							


function preload()                        							
{
	font = loadFont('robotocondensed-regular.ttf');                 
}


function setup()
{
	createCanvas(720, 360);
	textFont(font);		    									    
	textSize(fontsize); 											
	textAlign(CENTER, CENTER); 									    
}


function draw()
{
	background(160);
	var margin = 10;                                                
	var x = 30;                                                     
	translate(margin * 6, margin * 3);   							
	var y = 10;														
	var tekst = char(35)+"zajecia"; 								
	
	text(tekst, x,y); 												
}

2) Załączony obrazek nie wyświetla się w żadnej przeglądarce. Natomiast w edytorze P5 w okienku previev wyświetla się.

W jednym folderze mam następujące pliki:

1.png
index.html
p5.js
script.js

KOD PLIKU index.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Kurs JS WSKSIM</title>
	<script src="p5.js"></script>
	
	
	
	
</head>
<body>
	
	<script type="text/javascript" src="script.js"></script>
    
</body>
</html>

KOD PLIKU script.js

var img = new Image();                         


function setup()
{
	createCanvas(480, 120);
	img = loadImage("1.png");               
}


function draw()
{
	background(255);
	image(img, 0, 0);                   
}
0

Jak wygląda plik p5.js ?
Plik script.js zawiera jedynie deklaracje zmiennych i funkcji, i żadnych poleceń do wykonania.

0
karteggg napisał(a):

uczęszczam na pewne szkolenie z Javy Script (poziom podstawowy, dotyczącej strony wizualnej w Java Script). Na tym szkoleniu prowadząca używa edytora kodu z biblioteki P5 oraz posiłkuje się biblioteką p5.js.
Na zajęciach klepiemy sobie kod w tym edytorze i wszystko niby działa.

Polecam oryginał szkolenia :)

Powyższa playlista i wiele innych z "Coding Train". Człowiek bardzo sympatyczny, ma bardzo dobre opinie o swoich szkoleniach. Wszystko za darmo.

0
Freja Draco napisał(a):

Jak wygląda plik p5.js ?
Plik script.js zawiera jedynie deklaracje zmiennych i funkcji, i żadnych poleceń do wykonania.

Biblioteka p5.js zawiera chyba ze 100 tys. linijek kodu i poniżej wklejam link do niej. Można sobie pobrać etc.
[(https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.10.2/p5.js)]

A wiesz może jak to wywołać? Na tym edytorze P5 w okienku previev obrazek się wyświetla.

0
BraVolt napisał(a):
karteggg napisał(a):

uczęszczam na pewne szkolenie z Javy Script (poziom podstawowy, dotyczącej strony wizualnej w Java Script). Na tym szkoleniu prowadząca używa edytora kodu z biblioteki P5 oraz posiłkuje się biblioteką p5.js.
Na zajęciach klepiemy sobie kod w tym edytorze i wszystko niby działa.

Polecam oryginał szkolenia :)

Powyższa playlista i wiele innych z "Coding Train". Człowiek bardzo sympatyczny, ma bardzo dobre opinie o swoich szkoleniach. Wszystko za darmo.

Dzięki bardzo, ale niestety nie znam języka angielskiego aż tak dobrze :(.

0

Otwórz konsolę w przeglądarce. Zobaczysz komunikaty błędów:

14:08:59.518 > p5.js says: It looks like there was a problem loading your font. Try checking if the file path [robotocondensed-regular.ttf] is correct, hosting the font online, or running a local server.[https://github.com/processing/p5.js/wiki/Local-server]  p5.js:57523:17
14:08:59.520 Font could not be loaded robotocondensed-regular.ttf

Pobierz font: robotocondensed-regular.tt i wrzuć do tego katalogu (tylko pilnuj, żeby nazwa się zgadzała), znajdziesz np. tu: https://www.1001fonts.com/roboto-condensed-font.html

Uruchom skrypt ponownie, zobaczysz szary kwadrat z napisem: #zajęcia.

Zmień prowadzącego, skoro nie potrafi ci pomóc w tak elementarnych kwestiach.

Edycja 1: W Chrome jest jeszcze jeden błąd:

p5.js:51350 XMLHttpRequest cannot load file:///C:/Documents%20and%20Settings/Freja/Pulpit/robotocondensed-regular.ttf. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.loadFromUrl @ p5.js:51350
p5.js:57523 > p5.js says: It looks like there was a problem loading your font. Try checking if the file path [robotocondensed-regular.ttf] is correct, hosting the font online, or running a local server.[https://github.com/processing/p5.js/wiki/Local-server]
p5.js:85891 Font could not be loaded robotocondensed-regular.ttf

Żeby się go pozbyć musisz uruchomić stronę na serwerze lokalnym i odpalić jako: http://twoj-adres-lokalny/twoj-plik.htm

Edycja 2:
I jak to zrobisz, to w Chrome (przynajmniej starym) wyskakuje kolejny błąd:

Uncaught TypeError: canvases[Symbol.iterator] is not a function

Co już by wymagało poprawek w pliku p5.js, ale możliwe, że u ciebie on nie wystąpi.

0
Freja Draco napisał(a):

Otwórz konsolę w przeglądarce. Zobaczysz komunikaty błędów:

14:08:59.518 > p5.js says: It looks like there was a problem loading your font. Try checking if the file path [robotocondensed-regular.ttf] is correct, hosting the font online, or running a local server.[https://github.com/processing/p5.js/wiki/Local-server]  p5.js:57523:17
14:08:59.520 Font could not be loaded robotocondensed-regular.ttf

Pobierz font: robotocondensed-regular.tt i wrzuć do tego katalogu (tylko pilnuj, żeby nazwa się zgadzała), znajdziesz np. tu: https://www.1001fonts.com/roboto-condensed-font.html

Uruchom skrypt ponownie, zobaczysz szary kwadrat z napisem: #zajęcia.

Zmień prowadzącego, skoro nie potrafi ci pomóc w tak elementarnych kwestiach.

Edycja 1: W Chrome jest jeszcze jeden błąd:

p5.js:51350 XMLHttpRequest cannot load file:///C:/Documents%20and%20Settings/Freja/Pulpit/robotocondensed-regular.ttf. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.loadFromUrl @ p5.js:51350
p5.js:57523 > p5.js says: It looks like there was a problem loading your font. Try checking if the file path [robotocondensed-regular.ttf] is correct, hosting the font online, or running a local server.[https://github.com/processing/p5.js/wiki/Local-server]
p5.js:85891 Font could not be loaded robotocondensed-regular.ttf

Żeby się go pozbyć musisz uruchomić stronę na serwerze lokalnym i odpalić jako: http://twoj-adres-lokalny/twoj-plik.htm

Edycja 2:
I jak to zrobisz, to w Chrome (przynajmniej starym) wyskakuje kolejny błąd:

Uncaught TypeError: canvases[Symbol.iterator] is not a function

Co już by wymagało poprawek w pliku p5.js, ale możliwe, że u ciebie on nie wystąpi.

Dotyczy wersji na dysku komputera:
Ściągnąłem plik paczkę z podanej strony, wyjąłem jeden plik, ten: RobotoCondensed-Regular.ttf
Nadpisałem go, podałem taką samą nazwę pliku w pliku *.js
Nic się nie zmieniło, nie działa.

Dotyczy wersji wgranej na serwer FTP:
Przegrałem wszystkie pliki do jednego folderu. Uruchomiłem w necie plik index.html. Działa zarówno tekst jak i obrazek.

Czemu to nie działa lokalnie na dysku?

Co masz na myśli pisząc: http://twoj-adres-lokalny/twoj-plik.htm ?
Wiem jak się sprawdza IP w CMD poleceniem ipconfig. Zaczyna się od liczb 192. ...
Nie bardzo rozumiem jak połączyć adres IP z plikiem. Jak miałaby wyglądać pełna ścieżka IP vs dysk twardy?

0
karteggg napisał(a):

Czemu to nie działa lokalnie na dysku?

  request.send();

p5.js:51350 XMLHttpRequest cannot load file:///D:/Html/p5/robotocondensed-regular.ttf. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Tymczasem przy wywołaniu lokalnym masz "protokół": file:///. Część mechanizmów odwołujących się do domeny/hosta na części przeglądarek nie będzie wtedy działać, bo właściwie tak naprawdę nie ma w tym momencie domeny, więc trudno stosować reguły Same Orygin Policy:
https://sekurak.pl/czym-jest-cors-cross-origin-resource-sharing-i-jak-wplywa-na-bezpieczenstwo/

Tak jest i trudno.

Co masz na myśli pisząc: http://twoj-adres-lokalny/twoj-plik.htm ?
Nie bardzo rozumiem jak połączyć adres IP z plikiem. Jak miałaby wyglądać pełna ścieżka IP vs dysk twardy?

Mam na myśli adres pliku serwowanego przez serwer lokalny.
Jeśli zainstalujesz sobie np. taki XAMPP
https://www.apachefriends.org/pl/index.html
to będziesz mógł używać plików umieszczonych na lokalnym serwerze, tworząc sobie dla nich dowolne lokalne adresy i wszystko będzie działać podobnie jak na zdalnym serwerze, na który obecnie wrzucasz pliki przez FTP.

Przykładowe adresy mogą wtedy wyglądać:
http://192.168.1.101/katalog/plik.htm
http://jakas-nazwa/katalog/plik.htm
Zależy, co tam twój system/serwer oferuje i co sobie skonfigurujesz

0

In particular, for security reasons, most modern browsers will not allow JavaScript to make server requests if the page is loaded directly from the file system.

Ściągnij sobie jakiś mały serwerek HTTP i hostuj na nim swoją aplikacje. Bez tego na niektórych przeglądarkach będziesz otrzymywał błędy typu Cross Origin. Wydaje mi się, ze na Firefoxie uda ci się to uruchomić. Jeśli masz zainstalowanego Node’a to polecam ‚http-server’.

0
Freja Draco napisał(a):
karteggg napisał(a):

Czemu to nie działa lokalnie na dysku?

  request.send();

p5.js:51350 XMLHttpRequest cannot load file:///D:/Html/p5/robotocondensed-regular.ttf. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Tymczasem przy wywołaniu lokalnym masz "protokół": file:///. Część mechanizmów odwołujących się do domeny/hosta na części przeglądarek nie będzie wtedy działać, bo właściwie tak naprawdę nie ma w tym momencie domeny, więc trudno stosować reguły Same Orygin Policy:
https://sekurak.pl/czym-jest-cors-cross-origin-resource-sharing-i-jak-wplywa-na-bezpieczenstwo/

Tak jest i trudno.

Co masz na myśli pisząc: http://twoj-adres-lokalny/twoj-plik.htm ?
Nie bardzo rozumiem jak połączyć adres IP z plikiem. Jak miałaby wyglądać pełna ścieżka IP vs dysk twardy?

Mam na myśli adres pliku serwowanego przez serwer lokalny.
Jeśli zainstalujesz sobie np. taki XAMPP
https://www.apachefriends.org/pl/index.html
to będziesz mógł używać plików umieszczonych na lokalnym serwerze, tworząc sobie dla nich dowolne lokalne adresy i wszystko będzie działać podobnie jak na zdalnym serwerze, na który obecnie wrzucasz pliki przez FTP.

Przykładowe adresy mogą wtedy wyglądać:
http://192.168.1.101/katalog/plik.htm
http://jakas-nazwa/katalog/plik.htm
Zależy, co tam twój system/serwer oferuje i co sobie skonfigurujesz

1)
Co masz na myśli pisząc: request.send();? Do czego to jest? Ja jestem w tym zielony i mi trzeba pisać jak Abel krowie :), sorry.

2)
Czyli lokalnie będzie działać to czy tamto tylko wtedy, jeśli zainstaluję sobie np. Xampp-a?

3)
Odnośnie jeszcze pytania nr 2: Powodem jest to, że nie można zastosować jakiejś reguły Same Orygin Policy (o istnieniu której nie miałem bladego pojęcia)?

4)
Tylko, że jakieś prostokąty, linie się wyświetlają lokalnie - m.in., pętle wykonują itp., a głupi napis i obrazek nie chce? To jest jakieś niespójne. Mógłbyś mi wytłumaczyć o co w tym chodzi?

0
FrontendGuy napisał(a):

In particular, for security reasons, most modern browsers will not allow JavaScript to make server requests if the page is loaded directly from the file system.

Ściągnij sobie jakiś mały serwerek HTTP i hostuj na nim swoją aplikacje. Bez tego na niektórych przeglądarkach będziesz otrzymywał błędy typu Cross Origin. Wydaje mi się, ze na Firefoxie uda ci się to uruchomić. Jeśli masz zainstalowanego Node’a to polecam ‚http-server’.

Tylko po co miałbym to robić, skoro mam hosting i domenę?

1
karteggg napisał(a):
FrontendGuy napisał(a):

In particular, for security reasons, most modern browsers will not allow JavaScript to make server requests if the page is loaded directly from the file system.

Ściągnij sobie jakiś mały serwerek HTTP i hostuj na nim swoją aplikacje. Bez tego na niektórych przeglądarkach będziesz otrzymywał błędy typu Cross Origin. Wydaje mi się, ze na Firefoxie uda ci się to uruchomić. Jeśli masz zainstalowanego Node’a to polecam ‚http-server’.

Tylko po co miałbym to robić, skoro mam hosting i domenę

Napisałeś, ze na hostingu ci działa a lokalnie nie. Zamiast wgrywać wszystko tam mógłbyś sobie lokalnie odpalić mały serwer HTTP i lokalnie testować. Nie działają ci lokalnie czcionki i obrazki, bo są one również pobierane z serwera, a tak jak napisałem większość przeglądarek nie pozwoli ci na pobranie zasobów jeśli aplikacja nie jest wgrana na jakimś serwerze. W takim wypadku, przeglądarki rzuca ci błędem cross origin

Tu masz inny link z wyjaśnieniem:
https://stackoverflow.com/a/49766602

0
karteggg napisał(a):

1)
Co masz na myśli pisząc: request.send();? Do czego to jest? Ja jestem w tym zielony i mi trzeba pisać jak Abel krowie :), sorry.

request.send();
Jest poleceniem z 51350 linii pliku p5.js, na którym wyskakuje błąd.
Otwórz konsolę przeglądarki to sobaczysz.
https://support.google.com/displayvideo/answer/6188066?hl=pl

2)
Czyli lokalnie będzie działać to czy tamto tylko wtedy, jeśli zainstaluję sobie np. Xampp-a?

Tak.

3)
Odnośnie jeszcze pytania nr 2: Powodem jest to, że nie można zastosować jakiejś reguły Same Orygin Policy (o istnieniu której nie miałem bladego pojęcia)?

Tak.

4)
Tylko, że jakieś prostokąty, linie się wyświetlają lokalnie - m.in., pętle wykonują itp., a głupi napis i obrazek nie chce? To jest jakieś niespójne. Mógłbyś mi wytłumaczyć o co w tym chodzi?

Napis jest złożony określoną czcionką. Skrypt wywala się na próbie pobrania tej czcionki. Podejrzewam, że z obrazkami występuje podobny problem.

1
karteggg napisał(a):

Tylko po co miałbym to robić, skoro mam hosting i domenę?

Lokalnie jest szybciej. Nie musisz przesyłać każdorazowo pliku na serwer, tylko zapisujesz zmieniony plik i odświeżasz stronę w przeglądarce.

1
karteggg napisał(a):

uczęszczam na pewne szkolenie z Javy Script

Tak tylko dla poprawności, JavaScript to jeden wyraz^^ Więc: JavaScriptu, JavaScriptem, itp. xD

0
FrontendGuy napisał(a):
karteggg napisał(a):
FrontendGuy napisał(a):

In particular, for security reasons, most modern browsers will not allow JavaScript to make server requests if the page is loaded directly from the file system.

Ściągnij sobie jakiś mały serwerek HTTP i hostuj na nim swoją aplikacje. Bez tego na niektórych przeglądarkach będziesz otrzymywał błędy typu Cross Origin. Wydaje mi się, ze na Firefoxie uda ci się to uruchomić. Jeśli masz zainstalowanego Node’a to polecam ‚http-server’.

Tylko po co miałbym to robić, skoro mam hosting i domenę

Napisałeś, ze na hostingu ci działa a lokalnie nie. Zamiast wgrywać wszystko tam mógłbyś sobie lokalnie odpalić mały serwer HTTP i lokalnie testować. Nie działają ci lokalnie czcionki i obrazki, bo są one również pobierane z serwera, a tak jak napisałem większość przeglądarek nie pozwoli ci na pobranie zasobów jeśli aplikacja nie jest wgrana na jakimś serwerze. W takim wypadku, przeglądarki rzuca ci błędem cross origin

Tu masz inny link z wyjaśnieniem:
https://stackoverflow.com/a/49766602

To P5, to jest kosmos. On działa jak chce i kiedy chce - kuriozum jakieś. Na przykład video wczytane w ogóle nie działa, tylko na tym edytorze P5 w okienku previev.

Jeśli chodzi o czcionki, to one i tak są w tym samym folderze co plik index. html i script.js (jeśli chodzi o uruchomienie lokalne z dysku komputera, bez pomocy serwera Xampp. Jeśli chodzi o stawianie xampp-a, to nie widzę takiej potrzeby. Ja mam bardzo szybki komputer i szybkie łącze. U mnie to działa bardzo szybko.

"Nie działają ci lokalnie czcionki i obrazki, bo są one również pobierane z serwera" - o jakim pobieraniu z serwera piszesz, skoro mam to w folderze z pozostałymi plikami na dysku?

0

A ty czytasz, w ogóle, co ci piszę?

request.send();

p5.js:51350 XMLHttpRequest cannot load file:///D:/Html/p5/robotocondensed-regular.ttf. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Tymczasem przy wywołaniu lokalnym masz "protokół": file:///. Część mechanizmów odwołujących się do domeny/hosta na części przeglądarek nie będzie wtedy działać, bo właściwie tak naprawdę nie ma w tym momencie domeny, więc trudno stosować reguły Same Orygin Policy:
https://sekurak.pl/czym-jest-[...]jak-wplywa-na-bezpieczenstwo/

.

Jeśli chodzi o czcionki, to one i tak są w tym samym folderze co plik index. html i script.js (jeśli chodzi o uruchomienie lokalne z dysku komputera, bez pomocy serwera Xampp. Jeśli chodzi o stawianie xampp-a, to nie widzę takiej potrzeby. Ja mam bardzo szybki komputer i szybkie łącze. U mnie to działa bardzo szybko.

Póki co, to ci w ogóle nie działa, no ale możliwe, że ci bardzo szybko nie działa ;)

0
Freja Draco napisał(a):

A ty czytasz, w ogóle, co ci piszę?

request.send();

p5.js:51350 XMLHttpRequest cannot load file:///D:/Html/p5/robotocondensed-regular.ttf. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Tymczasem przy wywołaniu lokalnym masz "protokół": file:///. Część mechanizmów odwołujących się do domeny/hosta na części przeglądarek nie będzie wtedy działać, bo właściwie tak naprawdę nie ma w tym momencie domeny, więc trudno stosować reguły Same Orygin Policy:
https://sekurak.pl/czym-jest-[...]jak-wplywa-na-bezpieczenstwo/

.

Jeśli chodzi o czcionki, to one i tak są w tym samym folderze co plik index. html i script.js (jeśli chodzi o uruchomienie lokalne z dysku komputera, bez pomocy serwera Xampp. Jeśli chodzi o stawianie xampp-a, to nie widzę takiej potrzeby. Ja mam bardzo szybki komputer i szybkie łącze. U mnie to działa bardzo szybko.

Póki co, to ci w ogóle nie działa, no ale możliwe, że ci bardzo szybko nie działa ;)

Czcionka działa jak się wrzuci na serwer. Video nie działa nigdzie. Czytam, ale nie jest to wszystko dla mnie zrozumiałe (nomenklatura).

"Póki co, to ci w ogóle nie działa, no ale możliwe, że ci bardzo szybko nie działa ;)" - nie rozumiem co masz na myśli

0
karteggg napisał(a):

Czcionka działa jak się wrzuci na serwer. Video nie działa nigdzie. Czytam, ale nie jest to wszystko dla mnie zrozumiałe (nomenklatura).

Jaki komunikat błędu dostajesz przy tym niedziałającym video?

"Póki co, to ci w ogóle nie działa, no ale możliwe, że ci bardzo szybko nie działa ;)" - nie rozumiem co masz na myśli

To był tzw: sarkazm. Nieważne.

0
Freja Draco napisał(a):
karteggg napisał(a):

Czcionka działa jak się wrzuci na serwer. Video nie działa nigdzie. Czytam, ale nie jest to wszystko dla mnie zrozumiałe (nomenklatura).

Jaki komunikat błędu dostajesz przy tym niedziałającym video?

"Póki co, to ci w ogóle nie działa, no ale możliwe, że ci bardzo szybko nie działa ;)" - nie rozumiem co masz na myśli

To był tzw: sarkazm. Nieważne.

Przed chwilą włączyłem ten filmik w pliku mp4 na Mozilli Firefox i na Edge - działa (na serwerze). Wydawało mi się, że nie działa nigdzie (z serwera). Nie działa na Chrome i na IE.

Na chrome wyskakuje takie coś w konsoli:
WARN: Element play method raised an error asynchronously DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD

Lokalnie (bez Xampp-a) działa tylko na Edge.

KOD PLIKU SCRIPT.JS

var vid; 												

function setup()
{
	noCanvas(); 										
	vid = createVideo(['brain.mp4'], vidLoad);			
	vid.size(640, 360); 								
}

function vidLoad()
{
	vid.loop(); 	
}
0

WARN: Element play method raised an error asynchronously DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD
To jest akurat niezależne od fanaberii p5.js. Jakiś czas temu w większości przeglądarek zablokowano możliwość odpalania filmów z poziomu skryptu.
Tzn. jest to możliwe, ale tylko w sytuacji, gdy skrypt uruchamiający film został wywołany w wyniku jakiejś akcji użytkownika.
O czym z resztą mówi właśnie ten komunikat.

0
Freja Draco napisał(a):

WARN: Element play method raised an error asynchronously DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD
To jest akurat niezależne od fanaberii p5.js. Jakiś czas temu w większości przeglądarek zablokowano możliwość odpalania filmów z poziomu skryptu.
Tzn. jest to możliwe, ale tylko w sytuacji, gdy skrypt uruchamiający film został wywołany w wyniku jakiejś akcji użytkownika.
O czym z resztą mówi właśnie ten komunikat.

To jak odpalać filmy tak, żeby się uruchomiły?

1
karteggg napisał(a):

To jak odpalać filmy tak, żeby się uruchomiły?

Musisz funkcję uruchamiającą film podpiąć pod onclick na jakimś elemencie.
Jeśli użytkownik kliknie i ją wywoła, powinno działać.

0
Freja Draco napisał(a):
karteggg napisał(a):

To jak odpalać filmy tak, żeby się uruchomiły?

Musisz funkcję uruchamiającą film podpiąć pod onclick na jakimś elemencie.
Jeśli użytkownik kliknie i ją wywoła, powinno działać.

Rozumiem, dzięki bardzo. Dzisiaj dodałem jeszcze jedno zapytanie na tym forum. Może znasz odpowiedź na to pytanie?

1
Freja Draco napisał(a):

Tzn. jest to możliwe, ale tylko w sytuacji, gdy skrypt uruchamiający film został wywołany w wyniku jakiejś akcji użytkownika.
O czym z resztą mówi właśnie ten komunikat.

Tak wygląda nauka na kursach. Masz mentora który wszystko tłumaczy krok po kroku. Nauka jest szybka, bo kursant nie męczy się i nie traci czasu na samodzielne rozwiązywanie problemów. I wszystko po polsku! Przyjdzie później zrobić coś samemu i... jest jak jest.

0
BraVolt napisał(a):
Freja Draco napisał(a):

Tzn. jest to możliwe, ale tylko w sytuacji, gdy skrypt uruchamiający film został wywołany w wyniku jakiejś akcji użytkownika.
O czym z resztą mówi właśnie ten komunikat.

Tak wygląda nauka na kursach. Masz mentora który wszystko tłumaczy krok po kroku. Nauka jest szybka, bo kursant nie męczy się i nie traci czasu na samodzielne rozwiązywanie problemów. I wszystko po polsku! Przyjdzie później zrobić coś samemu i... jest jak jest.

To co napisałeś/aś jest bezsensu. Nie wiesz jak jest, a piszesz.

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