Kezdőoldal » Számítástechnika » Programozás » Másik HTML fájl egyik DOM...

Másik HTML fájl egyik DOM objektumára hogyan tudok hivatkozni? (JS)

Figyelt kérdés

Ugye így az éppen aktuális HTML fájlom egy osztályára hivatkozom: document.getElementsByClassName(valamilyen_osztálynév);

Ugyan így egy DOM objektumra akarok hivatkozni, de egy másik HTML fájlból az egyik osztályra.

Ez megvalósítható?



2014. márc. 5. 20:39
1 2
 1/12 anonim ***** válasza:
Másik HTML fájlba így nem fogsz tudni turkálni, a HTML és a javascript nem erre való.
2014. márc. 5. 23:13
Hasznos számodra ez a válasz?
 2/12 anonim ***** válasza:
AJAX, és ugye ne felejtsd a Same Origin Policyt
2014. márc. 6. 01:13
Hasznos számodra ez a válasz?
 3/12 A kérdező kommentje:
Köszönöm! És hogyan tudom kikerülni a Same Origin Policyt? Ha HTML script tag-ek közé teszem a head-be, akkor télleg ki kerülhető? (Valahol ezt olvastam, de most épp nemtudom kiprobálni)
2014. márc. 6. 10:02
 4/12 A kérdező kommentje:

Hát ezt visszavonom, mert kipróbáltam és a konzolon szépen vissza is kapom a hibát:

XMLHttpRequest cannot load file:///G:/valami7.htm. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

Továbbra is a kérdésem, hogy hogyan tudom megkerülni a same origin policy-t?

2014. márc. 6. 14:16
 5/12 anonim ***** válasza:

úgy sehogy, hogy egy bármilyen látogatónál is működjön


szerintem írd le, mit akarsz csinálni, mert ez így biztos, hogy nem jó, ahogy akarod


dinamikus tartalmat nem javascripttel generálunk, hanem szerveroldalival

2014. márc. 6. 15:40
Hasznos számodra ez a válasz?
 6/12 A kérdező kommentje:

Nekem nem fontos, hogy bármilyen látogatónál ez működjön, mivel nem egy működő weblapra írom. Ez egy nagyobb projektem része... A lényeg az, hogy szeretnék egy változót amibe belekerül egy adott HTML fájlnak a komplett tartalma. De ez egy ciklusba van ágyazva. Tehát miután lefut az első ciklus, jön a következő és akkor már egy másik HTML fájl töltődik be a változóba. Jelen esetben a valami1.htm fájl után a valami2.htm fájl. Az első fájl betöltődik, de amikor a ciklus lekérné a második fájlt, akkor írja a console a hibát, amit az előző hsz.-ba írtam.

A kód eleje:


function GetContent () {

for (n = 1; n < 60; n++) {

$.ajax({


type: 'GET',

url: '/valami' + n + '.htm',

success: function (file_htm) {

var file = file_htm;

..............

}})}}

2014. márc. 6. 16:01
 7/12 anonim ***** válasza:
Esetleg (láthatatlan) Iframe-be betöltve meg lehet próbálni a rá való hivatkozást.
2014. márc. 6. 16:33
Hasznos számodra ez a válasz?
 8/12 A kérdező kommentje:

Értelek... De az Iframe-ből hogyan kérdezem le a fájlnak a tartalmát/forráskódját?

Szerintem az Iframe zsákutca. Próbálgattam, de nem sikerült. Inkább erre a same origin policy megkerülésére szeretnék rá jönni...

2014. márc. 6. 18:37
 9/12 A kérdező kommentje:

Iframe tesztelve, a document objectet még le tudom kérni az iframe-ből, de ha annak a belsejére hivatkoznék, akkor már ez a hiba:

Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

2014. márc. 6. 18:46
 10/12 anonim ***** válasza:
Jól tippelem, hogy crawlert akarsz írni? Szerintem azt a pár napot, amit a JS korlátaival szenvedsz, fordíthatnád inkább egy kevésbé korlátolt böngészőn kívül is futtatható script/programnyelv (pl. PHP, Python, Java) alapjainak megtanulására és a művelethez kellő snippetek összeguglizására. :)
2014. márc. 6. 18:56
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!