Executar codi JavaScript associat a un event: detectar canvis a pàgines web.
Codi HTML original
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Web amb Menú i Iframe</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
display: flex;
flex-direction: column;
height: 100vh;
}
header {
background-color: #333;
color: white;
padding: 1rem;
text-align: center;
}
nav {
display: flex;
flex-direction: column;
background-color: #444;
color: white;
}
.menu-nivell-1 {
display: flex;
flex-wrap: wrap;
justify-content: center;
background-color: #444;
}
.menu-nivell-1 > div {
position: relative;
margin: 0.5rem;
cursor: pointer;
}
.menu-nivell-2 {
display: none;
position: absolute;
top: 100%;
left: 0;
background-color: #555;
min-width: 150px;
z-index: 1;
}
.menu-nivell-2 div {
padding: 0.5rem;
cursor: pointer;
}
.menu-nivell-2 div:hover {
background-color: #666;
}
.menu-nivell-1 > div:hover .menu-nivell-2 {
display: block;
}
iframe {
flex: 1;
width: 100%;
border: none;
}
@media (max-width: 768px) {
.menu-nivell-1 {
flex-direction: column;
align-items: stretch;
}
.menu-nivell-1 > div {
text-align: center;
}
}
</style>
<script src="algoritmia/comunicador.js"></script>
</head>
<body>
<header>
<h1>Pàgina amb Menú i Iframe</h1>
</header>
<nav>
<div class="menu-nivell-1">
<div>
Secció 1
<div class="menu-nivell-2">
<div onclick="canviaIframe('https://www.example.com')">Pàgina 1.1</div>
<div onclick="canviaIframe('https://www.wikipedia.org')">Pàgina 1.2</div>
</div>
</div>
<div>
Secció 2
<div class="menu-nivell-2">
<div onclick="canviaIframe('https://www.mozilla.org')">Pàgina 2.1</div>
<div onclick="canviaIframe('https://www.openai.com')">Pàgina 2.2</div>
</div>
</div>
</div>
</nav>
<iframe id="contingut" src="about:blank"></iframe>
<script>
function canviaIframe(url) {
document.getElementById('contingut').src = url;
}
</script>
</body>
</html>
He fet el codi en una única línia
fetch('https://example.com/endpoint', {method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({clau: 'valor'})});
fetch('https://example.com/endpoint', {...})
Avisa al servidor en aquest URL. És com demanar-li una petició web a aquesta direcció.method: 'POST'
És per dir que vols enviar dades (no sols demanar-les amb elGET
).headers: {'Content-Type': 'application/json'}
Li diu al servidor que li està enviant un JSON, no una altra cosa.body: JSON.stringify({clau: 'valor'})
Converteix un JavaScript a text JSON per poder enviar-lo.