url's van startpagina naar pagina met iframe
Ik werkte met window.open. Daar doet met name Firefox nog moeilijker over dan Chrome.
Ik heb een startpagina (pagina1). En een pagina met een Iframe (pagina2;
Nu wil ik de gemaakte url's van pagina1 doorgeven aan het Iframe in pagina2.
Het zit allemaal in hetzelfde domein.
Maar ik weet echt niet meer hoe dat ook weer ging.
Ben ook al wat ouder, haha.
Maar kan iemand me weer op goede spoor zetten aub?
Wat bedoel je met "de gemaakte url's van pagina1"?
o.a. afbeeldingen gehaald.
In verleden toonde ik die op aparte pagina's
als tabblad. Dit gebeurde via window.open.
Maar dat kan niet meer omdat beveiligingen in browser deze zien als verboden popups.
Daarom heb ik bedacht om een pagina (tabblad)
te maken met een iframe.
Daar moeten dan de linkjes in komen die aangemaakt worden in de startpagina.
Maar lukt me (nog) niet.
Toevoeging op 29/06/2024 19:25:27:
function myfotoB(imageY, url3)
{
if(imageY >0)
{
myWindow3 = window.open(url3);
}
}
function frameA()
{
let frameObjA =
document.getElementById('linkA');
let frameContent = frameObjA.
contentWindow.document.body.innerHTML;
url1 = frameContent;
myWindow1 = window.open(url1);
}
Oude situatie:
Bovenste is voor afbeeldingen, onderste voor html bestanden.
Dit werkt nu prima. maar bij elke link wordt er telkens nieuw tabblad geopend.
Ik wil nu 4 tabbladen die open blijven, waar de links in verspreid worden.
Heeft wel als nadeel dat vanuit de website tabbladen niet te sluiten zijn.
Code (php)
Hier getest en werkt.
Helaas is dit niet te gebruiken in mijn toepassing.
Ik heb wat betreft afbeeldingen wel een oplossing gevonden.
Op een geschikte plek zet ik de functie up_line.
Hiermee verdwijnen alle door mij opgegeven tabbladen.
Daarna laat ik weer de tabbladen openen die ik nodig heb.
(function myfotoA)
Nu nog een oplossing vinden voor youtube en andere src.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function up_line()
{
var contentsA ="";
var previewA = window.open('','previewA','','');
previewA.document.body.innerHTML = contentsA;
previewA.close();
var contentsB ="";
var previewB = window.open('','previewB','','');
previewB.document.body.innerHTML = contentsB;
previewB.close();
var contentsC ="";
var previewC = window.open('','previewC','','');
previewC.document.body.innerHTML = contentsC;
previewC.close();
var contentsD ="";
var previewD = window.open('','previewD','','');
previewD.document.body.innerHTML = contentsD;
previewD.close();
}
{
var contentsA ="";
var previewA = window.open('','previewA','','');
previewA.document.body.innerHTML = contentsA;
previewA.close();
var contentsB ="";
var previewB = window.open('','previewB','','');
previewB.document.body.innerHTML = contentsB;
previewB.close();
var contentsC ="";
var previewC = window.open('','previewC','','');
previewC.document.body.innerHTML = contentsC;
previewC.close();
var contentsD ="";
var previewD = window.open('','previewD','','');
previewD.document.body.innerHTML = contentsD;
previewD.close();
}
Window Management API toestaan en gebruiken.
Vanuit UX is meerdere tabs of vensters een zwaktebod, je kunt beter na gaan denken over wat een gebruiker er mee moet om vier afbeeldingen tegelijk open te hebben staan, terwijl hij/zij/het er toch niet tegelijk iets mee kan doen.
Ik denk dat je beter kunt gaan kijken naar Fetch, want dan kan je slechts een gedeelte van een webpagina bijwerken waar nodig.
Deze oplossing is enorm archaïsch. Een beetje developer werkt al een hele tijd niet meer met iframes. Daarbij kan een webserver met bijvoorbeeld de CSP-header gebruik van iframes blokkeren, en dan werkt je script helemaal niet meer. Maar het kan ook anders, je kunt met de nieuwe Content Policy header de Vanuit UX is meerdere tabs of vensters een zwaktebod, je kunt beter na gaan denken over wat een gebruiker er mee moet om vier afbeeldingen tegelijk open te hebben staan, terwijl hij/zij/het er toch niet tegelijk iets mee kan doen.
Ik denk dat je beter kunt gaan kijken naar Fetch, want dan kan je slechts een gedeelte van een webpagina bijwerken waar nodig.
iFrames voelen best antiek aan in mijn ogen. Kijk inderdaad eens naar fetch.