2016-05-05 7 views
1

Ich möchte sowohl HTML als auch SVG-Code basierend auf meiner Subsciber `s der Position von auf der Webseite generieren (oder Sie können irgendwelche der div sagen).So rendern Sie den zu platzierenden HTML-Text innerhalb der div-Datei einer Drittpartei ohne iframe?

Ich möchte etwas JavaScript-Code geben, um in die Seite der Seite div so an diesem div ganz meinen Code platzieren.

Ich möchte nicht iframe verwenden, weil Höhe und Breite nicht definiert ist, ist es automatisiert.

hier was ich versucht habe und ich versuche immer noch.

<html> 
    <head> 
     <title>TODO supply a title</title> 
     <meta charset="UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    </head> 
    <body> 
     <div>TODO write content</div>   
     <div> 

      <script> 

       (function(){ 
        var xhr=new XMLHttpRequest(); 

        xhr.open("get","request Url of my side",true); 
        xhr.send(); 

        xhr.onreadystatechange = function(){ 
         if(xhr.readyState==4 && xhr.status==200){ 
          document.write(xhr.responseText); 
         } 
        }; 
       }()); 

      </script> 

     </div> 
    </body> 
</html> 

Aber was hier passiert ist, bevor Antwort kam, war ganz Seite geladen und document.write() erase vorhandene Inhalte und meine responseText platzieren.

Jede Hilfe wird geschätzt.

+0

3rd-Party-Seite nicht auf dem Server und nicht unter Ihrer Kontrolle zu finden? Sie können das nicht ändern, es sei denn, Sie geben Ihnen die Erlaubnis, und dann müssten Sie eine Domain-übergreifende Anfrage machen - von ihrem Server zu Ihrem – Pete

+0

Ich kümmere mich schon um CORS. und ich erstelle gerade Webservice. und Bereitstellung von Daten für Abonnenten wie Facebook Flike, Google Plus Index und Pinit Indexer. Verwirrung ist bei der Wiedergabe von Daten an Abonnenten –

+0

Okay, ich habe es selbst mit Hilfe dieser http://stackoverflow.com/questions/403967/how-may-i-reference-the-script-tag-that-loaded-the gelöst -currently-executing-script beantwortet meine Frage –

Antwort

0

seine nimm mir nur lange Zeit document.scripts

<html> 
    <head> 
     <title>TODO supply a title</title> 
     <meta charset="UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    </head> 
    <body> 
     <div>TODO write content</div> 
     Here Is The Code 
     <div> 
     <script> 
      (function(t){ 
       var xhr=new XMLHttpRequest();xhr.open("get","request url",true);xhr.send(); 
       xhr.onreadystatechange=function(){ if(xhr.readyState==4 && xhr.status==200){ 
         document.scripts[document.scripts.length-1].parentNode.innerHTML=xhr.responseText;}} 
       }(this)); 
     </script> 
     </div> 

    </body> 
</html> 
1

JQuery-Lösung. Sie können ähnlich in reinem Java schreiben, aber es ist ein bisschen schwieriger. Inside <div id="results"></div> erhalten Sie Ihre Antwort.

$.ajax({ 
    url: "test.html", 
    cache: false 
}) 
    .done(function(html) { 
    $("#results").append(html); 
    }); 

Referenz: http://api.jquery.com/jquery.ajax/

EDIT: Reine Javascript Lösung:

Async = true:

xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
    document.getElementById("results").innerHTML = xhttp.responseText; 
    } 
}; 
xhttp.open("GET", "test.html", true); 
xhttp.send(); 

Async = false:

xhttp.open("GET", "test.html", false); 
xhttp.send(); 
document.getElementById("results").innerHTML = xhttp.responseText; 

Referenz: http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp

+0

gut das Problem ist, dass Selektor kann alles sein, weil Abonnentenseite nicht unter meiner Kontrolle ist. also möchte ich meinen Text ohne Angabe eines Selektors rendern lassen –

+0

Sie können also Javascript einfügen, aber Sie können die Seite nicht auf andere Weise beeinflussen? Und es wird

ohne ID sein? – RaV

+0

Ja, weil ich Client-HTML-Seite nicht unter meiner Kontrolle ist. –

Verwandte Themen