Thaxll'ssillyia
Captain
- Registriert
- Dez. 2007
- Beiträge
- 3.568
Hallo Community!
Zuerst: Ich beschäftige mich seit gestern das erste Mal mit html, javascript und Ajax.
Ich versuche mich derzeit an einer Webseite (hier mal genannt "Masterseite") für einen Bekannten, die eine IFrame, welche auf eine Sportwetten-Seite (-> "Zielseite") zeigt, enthält. Diese Masterseite soll auf Druck eines Buttons die Zielseite in der iFrame aufrufen und in zwei Account-Textboxen einen Account eintragen, der auf der Masterseite hinterlegt ist.
Hier meine bisherigen Versuche:
Aufgrunddessen, dass die Zielwebsite nicht in der gleichen Domain wie die Masterseite liegt, stoße ich unweigerlich auf das Same-Domain-Policy-Problem, bei dem das contentDocument meiner iFrame nach dem Laden null ist.
Deswegen hab ich nach der Anleitung auf stackoverflow (http://stackoverflow.com/questions/3076414/ways-to-circumvent-the-same-origin-policy) mal die Variante mit PostMessage eingebaut, um an das contentDocument zu kommen.
Nur leider will das ganze so nicht funktionieren, contentDocument ist manchmal null (nachdem ich einen Reset-Button eingebaut habe und den vor dem erneuten Zielseiten-Aufruf diesen drücke, war es nicht mehr so oft null). Falls contentDocument mal nicht null ist, ist iFrame.src "Undifined" oder "About:blank" und ich komm auch nicht an die Elemente der Zielseite ran.
Wer kann mir helfen? Ich bin für jede Hilfe dankbar.
Gruß Thax
Zuerst: Ich beschäftige mich seit gestern das erste Mal mit html, javascript und Ajax.
Ich versuche mich derzeit an einer Webseite (hier mal genannt "Masterseite") für einen Bekannten, die eine IFrame, welche auf eine Sportwetten-Seite (-> "Zielseite") zeigt, enthält. Diese Masterseite soll auf Druck eines Buttons die Zielseite in der iFrame aufrufen und in zwei Account-Textboxen einen Account eintragen, der auf der Masterseite hinterlegt ist.
Hier meine bisherigen Versuche:
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Schau mer mal</title>
<style type="text/css">
html, body
{
height: 99%;
}
#five
{
height: 5%;
}
#fiftynine
{
height: 95%;
}
</style>
<script language="javascript">
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event) {
var iframe = document.getElementById('iframe');
iframe.src = event.data;
}
function Reset() {
var iframe = document.getElementById('iframe');
iframe.src = '';
}
function GoToWebsite() {
window.parent.postMessage('http://sportwettenseite/login', '*');
var iframe = document.getElementById('iframe');
var contentDocument = iframe.contentDocument;
alert("Status contentDoc: " + contentDocument + " | Page: " + contentDocument.src);
var passbox = contentDocument.getElementById('password');
// Account-Daten eintragen...
}
</script>
</head>
<body>
<div id="five">
<input type="button" value="Reset" onclick="Reset();">
<input type="button" value="GoToWebsite1" onclick="GoToWebsite1();">
</div>
<div id="fiftynine">
<iframe frameborder="0" height="100%" id="iframe" src="" width="100%">Alternativtext</iframe>
</div>
</body>
</html>
Aufgrunddessen, dass die Zielwebsite nicht in der gleichen Domain wie die Masterseite liegt, stoße ich unweigerlich auf das Same-Domain-Policy-Problem, bei dem das contentDocument meiner iFrame nach dem Laden null ist.
Deswegen hab ich nach der Anleitung auf stackoverflow (http://stackoverflow.com/questions/3076414/ways-to-circumvent-the-same-origin-policy) mal die Variante mit PostMessage eingebaut, um an das contentDocument zu kommen.
Nur leider will das ganze so nicht funktionieren, contentDocument ist manchmal null (nachdem ich einen Reset-Button eingebaut habe und den vor dem erneuten Zielseiten-Aufruf diesen drücke, war es nicht mehr so oft null). Falls contentDocument mal nicht null ist, ist iFrame.src "Undifined" oder "About:blank" und ich komm auch nicht an die Elemente der Zielseite ran.
Wer kann mir helfen? Ich bin für jede Hilfe dankbar.
Gruß Thax