Ajax als IFRAME Ersatz

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Man kann AJAX verwenden um andere Dateiinhalte darzustellen. Doch vorsicht. Der XMLHttpRequest kann aus Sicherheitsgründen nicht direkt auf fremde URLs zugreifen. Daher leiten wir das ganze mit file_get_contents über ein PHP Script.
    == index Datei ==

    Quellcode

    1. <html><head>
    2. <title>AJAX als IFRAME Ersatz</title>
    3. <script type="text/Javascript">
    4. <!--
    5. function geturl(elem, url) {
    6. var req;
    7. try {
    8. req = window.XMLHttpRequest?new XMLHttpRequest():
    9. new ActiveXObject("Microsoft.XMLHTTP");
    10. } catch (e) {
    11. //Kein AJAX Support
    12. }
    13. req.onreadystatechange = function() {
    14. if ((req.readyState == 4) && (req.status == 200)) {
    15. document.getElementById(elem).innerHTML = req.responseText;
    16. }
    17. };
    18. req.open('POST', 'fetch.php');
    19. req.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
    20. req.send('url='+url);
    21. }
    22. //-->
    23. </script>
    24. </head>
    25. <body onload="geturl('hier','http://web.de')">
    26. <div id="hier" style="width:230px;height:230px;overflow:auto"></div>
    27. </body>
    28. </html>
    Alles anzeigen


    == fetch.php ==
    Für die Verwendung im echten Leben, sollten serverseitig im PHP Script noch einige Abfragen über erlaubte URLs geschehen.

    Quellcode

    1. <?php
    2. if(0 !== strpos($_POST['url'], 'http://')) {
    3. throw new Exception('url muss mit http beginnen');
    4. }
    5. echo file_get_contents($_POST['url']);

    5.790 mal gelesen