- Milyen okostelefont vegyek?
- Samsung Galaxy S23 Ultra - non plus ultra
- iPhone topik
- Megjött a jubileumi Pixel széria
- Párizsi ősz, új Huawei órák
- Ezek az új Google Pixel cuccok hivatalos magyar árai
- Google Pixel topik
- Műholdakkal is beszélgethet a Redmi Note 15 Pro+
- Sony Xperia 1 V - kizárólag igényeseknek
- Xiaomi 14 - párátlanul jó lehetne
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
btz
addikt
válasz
sztanozs #7847 üzenetére
Sikerült megoldanom a problémámat, részben a segítségeddel, mivel rájöttem, hogy amit akarok az az inner.HTML-el is megoldható. Ismertem amúgy ezt a lehetőséget, de nem akartam használni, mivel ala nature szerettem volna kiíratni, mert bele akartam rakni egy input mező value értékébe. Ekkor villant be hogy mért ne csinálhatnám az egész input mezőt az innerHTML-el?
A https://website.com/embed/id oldalon ez a script leméri az "all" div magasságát.
<script>
var element = document.getElementById('all');
var magassag = (element.offsetHeight);
var MYGLOBAL = (element.offsetHeight) + 10;
//window.parent.postMessage(['varA', MYGLOBAL], '*');
parent.postMessage({v1: MYGLOBAL}, "*");
</script>Azon az oldalon ahol a https://website.com/embed/id be van szúrva IFRAME ként:
<html lang="en"><head>
<meta charset="utf-8">
<title>EMBED TESZT</title>
</head>
<body>
<iframe src="https://website.com/embed/id" id="iframe" name="iframe" scrolling="no" frameborder="0" style="width: 100%; height: 600px;"></iframe>
<br /><br />
<div id="myDiv">0</div>
<script type="text/javascript" >
function receiveMessage(event) {
var ifrheig = (event.data.v1) + 'px';
document.getElementById("iframe").style.height = ifrheig;
var v1data = (event.data.v1);
var textNode = document.createTextNode(v1data);
document.body.appendChild(textNode);
var innertomydiv = '<input style="width: 100%;" type="text" id="frame" name="frame" value="<iframe src='https://website.com/embed/id' id='iframe' name='iframe' scrolling='no' frameborder='0' style='width: 100%; height: ' + v1data + ';'></iframe>">';
document.getElementById("myDiv").innerHTML = innertomydiv;
}
window.addEventListener("message", receiveMessage, false);
</script>
</body></html>1. Megjelenik az iFrame kezdetben 600px magassággal.
2. Kezdetben a myDiv értéke nulla.
3. A scriptben a receiveMessage funkcióval lekérem a CHILD oldal var MYGLOBAL = (element.offsetHeight) + 10; értékét ami a szülő oldalon van, beleteszem az egészet egy "ifrheig" nevű változóba és ezzel már be tudom állítani az Iframe magasságát (+10px ráhagyás, de ez már a "CHILD" oldali MYGLOBAL értékben alapból benne van)
4. v1data változóba téve ismét lekérem a MYGLOBAL értékét (event.data.v1) amit textNode-ként ki lehet íratni az aktuális helyen. Arra gondoltam, hogy majd ezt teszem bele egy input mezőbe magasságértékként az Iframe kódjával együtt, így majd az user már a kellő magassági értékkel együtt tudja kimásolni azt, nem kell pluszban a scriptkódot is kimásolni , hogy a megfelelő magasságot kapja.
5. Aztán rájöttem, hogy az egészet egy innertomydiv változóval beleíratom input mezőstől a második pontban említett myDiv-be. Így a pléda Iframe alatt megjelenik egy input mezőben az iFrame html kódja, amit könnyen kimásolhat az user és beilleszthet akárhova a megfelelő mérettel.
Új hozzászólás Aktív témák
- HDD probléma (nem adatmentés)
- Milyen okostelefont vegyek?
- sziku69: Fűzzük össze a szavakat :)
- Nők, nőügyek (18+)
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- LEGO klub
- Kuponkunyeráló
- sziku69: Szólánc.
- exHWSW - Értünk mindenhez IS
- Leégett az első Radeon a hírhedt 12V-2x6 tápkonnektorral
- További aktív témák...
- Nagyon szép állapot!! Lenovo ThinkPad T14s i5-113G7 16GB 512GB SSD
- I3 13100F + MSI B660M-P + 8gb DDR4 + 128gb ssd + Táp
- Eladó RTX 3090 24GB Videókártyák (Suprim X, Aorus, Gaming X) Felső kategóriás! Jótállással! Dobozos!
- Yamaha 5.1 hangrendszer NS-LC5 / NS-CLC5 / NS-ELC5 + YST-SW012 mélynyomó
- Precision 5550 15.6" FHD+ IPS i7-10850H T1000 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- Telefon felvásárlás!! Huawei P20 Lite/Huawei P20/Huawei P30 Lite/Huawei P30/Huawei P30 Pro
- BESZÁMÍTÁS! MSI MAG 255XF FHD IPS 300Hz 0,5ms monitor garanciával hibátlan működéssel
- MSI Sword 16 - Core i7 / RTX 4050 / per key RGB / magyar garancia
- Keychrone Q1 V2 billentyűzet / Számla / Garancia /
- GYÖNYÖRŰ iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS2980
Állásajánlatok
Cég: FOTC
Város: Budapest