Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fehler beim Laden der Module in der Beta #284

Closed
SkateScout opened this issue Jan 3, 2020 · 5 comments
Closed

Fehler beim Laden der Module in der Beta #284

SkateScout opened this issue Jan 3, 2020 · 5 comments
Assignees
Labels
Next Version Issue will be dealt with in the next update Not reproducible Cause of the issue cannot be found

Comments

@SkateScout
Copy link

SkateScout commented Jan 3, 2020

Mit diesem Fix in injects.js wird zuerst main geladen und danach die Restlichen Scripte.
Ansonsten kann es zu dem Fehler FoeProxy undefined kommen.

function checkForjQuery(){
	if (typeof jQuery === undefined){
		requestIdleCallback(checkForjQuery);
	} else {
		InjectCode();
	}
}

function checkForDOM() {
	if (document.body && document.head) {
		var ant = document.createElement('script');
		ant.src = chrome.extension.getURL('js/web/_main/js/_main.js?v=' + v);
		ant.id = 'main-script';
		ant.onload = function(){ 
			this.remove(); 
			requestIdleCallback(checkForjQuery);
		}; 
		document.head.prepend(ant);
	} else {
		requestIdleCallback(checkForDOM);
	}
}
requestIdleCallback(checkForDOM);
@SkateScout
Copy link
Author

SkateScout commented Jan 4, 2020

Damit wird auch der Fehler des fehlenden HTML vermieden.
Die Modul Idee ist gut aber es muss eine Ladereihenfolge beachtet werden.

function loadSerial(todos, next) {
	if(todos.length > 0) {
		var m = todos.shift();
		var ant = document.createElement('script');
		ant.src = chrome.extension.getURL('js/web/'+m+'/js/'+m+'.js?v=' + v);
		ant.onload = function(){ 
			this.remove(); 
			requestIdleCallback(()=>{loadSerial(todos,next)});
			}; 
		document.head.prepend(ant);
	} else {
		requestIdleCallback(next);
	}
}

function checkForDOM() {
	if (document.body && document.head) {
		loadSerial(['_main','helper'],checkForjQuery);
	} else {
		requestIdleCallback(checkForDOM);
	}
}

@Th3C0D3R
Copy link
Collaborator

Th3C0D3R commented Jan 7, 2020

Danke, aber wir konnten den Fehler leider nicht feststellen

@Th3C0D3R Th3C0D3R added Not reproducible Cause of the issue cannot be found and removed Bug labels Jan 7, 2020
@SkateScout
Copy link
Author

Fehler tritt mit Cache sporadisch auf bei Disable Cache fast nie. Das Problem am Orginal Script ist
das es alle Module hintereinander einfügt. Chrome aber diese scheinbar "Out of order" lädt.
Durch den Patch wird sichergestellt das die "Klassen" HTML + FoeProxy verfügbar sind wenn die anderen Module sich dort Registieren bzw die CSS laden. Auf den Fehler bin ich über die Console gekommen das dort wenn das Plugin nicht ging der Fehler stand HTML bzw FoEproxy not found.

p.s. Nutze die Entpacke Version, kann es daran liegen ?

@Th3C0D3R
Copy link
Collaborator

Th3C0D3R commented Jan 7, 2020

Ich nutze auch die entpackte Version

@someone97563 someone97563 added the Next Version Issue will be dealt with in the next update label Jan 9, 2020
@mainIine
Copy link
Owner

Wir haben eine neue mechanik verbaut damit auch der Firefox korrekt läd.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Next Version Issue will be dealt with in the next update Not reproducible Cause of the issue cannot be found
Projects
None yet
Development

No branches or pull requests

5 participants