url's van startpagina naar pagina met iframe

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans De Ridder

Hans De Ridder

29/06/2024 13:03:57
Quote Anchor link
Vanwege nieuwe beveiligingen in de browsers ben ik na lange tijd weer eens bezig met wat javascript.
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?
 
PHP hulp

PHP hulp

22/12/2024 07:27:00
 
Ward van der Put
Moderator

Ward van der Put

29/06/2024 18:30:27
Quote Anchor link
Wat bedoel je met "de gemaakte url's van pagina1"?
 
Hans De Ridder

Hans De Ridder

29/06/2024 19:12:20
Quote Anchor link
Er worden uit een directory telkens wisselend
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.
 
- SanThe -

- SanThe -

30/06/2024 00:49:45
Quote Anchor link
Kan gewoon heel makkelijk met een gewone link.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<a href="https://jouw site/?foto=foto1.jpeg" target="_blank"><img src="images/foto1.jpeg" style="maak er een kleine plaatje van;"></a>

<?php
if(isset($_GET['foto']))
{
laat de grote foto1.jpeg zien.
}

?>

Hier getest en werkt.
 
Hans De Ridder

Hans De Ridder

30/06/2024 19:51:59
Quote Anchor link
Bedankt voor de reactie.
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)
PHP script in nieuw venster Selecteer het PHP script
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
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();

}


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function myfotoA(imageX, url2)
{
if(imageX >0)
{
previewA = window.open(url2,'previewA','','');
}
}


function myfotoB(imageY, url3)
{
if(imageY >0)
{

previewB = window.open(url3,'previewB','','');

}
}
 

30/06/2024 21:18:04
Quote Anchor link
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 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.
 
- Ariën  -
Beheerder

- Ariën -

30/06/2024 21:39:24
Quote Anchor link
iFrames voelen best antiek aan in mijn ogen. Kijk inderdaad eens naar fetch.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.