2017-10-10 1 views
1

Notre site utilise un iframe pour afficher une bibliothèque de produits que nous proposons, et récemment iframe a arrêté le chargement dans Google Chrome, car il a cessé de prendre en charge document.write. Nous avons besoin d'une solution pour montrer la page de la même manière que nous l'avons été, mais sans utiliser document.write. Je suis novice et j'ai essayé plusieurs solutions mais rien n'a fonctionné.Insérer iframe dans le site sans utiliser document.write

ce que nous avons:

<script language="JavaScript"> 
<!-- 
var ss='<span style="font-size: small;"><b>NOTICE:</b> If you are having 
trouble finding a pattern, try searching the first three letters of the 
pattern name in the search bar. Also, be aware that some sheers may be 
photographed with a window pane to show sheer quality.<br>If you are using 
Google Chrome and have an issue viewing the library, please switch to another 
browser.</span><br><br>'; 
var upper_limit = 500000000; 

//--> 
document.write(ss); 
    function getIP(json) { 

     document.write('<iframe frameborder="0" marginheight="0" width="100%" 
height="700" src=" ' + 'http://client.richloomfabrics.com/cgi-bin/Wdrv01? 
&amp;PARPAR=CON&amp;MELMEL=ALL&amp;PTYPTY=UPH&amp;IPAIPA=' + json.ip + 
'&amp;IPACOK=' + RandomNumber(upper_limit) + '&amp;PGMPGM=WC033&amp;> 
</iframe>'); 

      } 
</script> 
<script type="application/javascript" src="https://api.ipify.org? 
format=jsonp&callback=getIP"></script> 

Nous utilisons un panier, ce qui est la raison pour laquelle nous avons besoin du nombre aléatoire et IP. J'ai essayé quelques solutions que j'ai vues, mais je n'en sais pas assez pour les éditer correctement. Quelqu'un peut-il m'envoyer dans la bonne direction?

+0

Est-ce une partie à l'intérieur d'un élément HTML? Si c'est un élément avec 'id =" documentWriteElement "', vous pouvez remplacer 'document.write' par' document.getElementById ("documentWriteElement"). InnerHTML'. – Walk

+0

Cependant, je vous suggère de regarder dans 'document.createElement' et' element.appendChild' au lieu de 'innerHTML'. – Walk

Répondre

0

Dans un cas très simple, vous pouvez simplement utiliser innerHTML propriété de body, quelque chose comme ça

<script language="JavaScript"> 
<!-- 
var ss='<span style="font-size: small;"><b>NOTICE:</b> If you are having 
trouble finding a pattern, try searching the first three letters of the 
pattern name in the search bar. Also, be aware that some sheers may be 
photographed with a window pane to show sheer quality.<br>If you are using 
Google Chrome and have an issue viewing the library, please switch to another 
browser.</span><br><br>'; 
var upper_limit = 500000000; 

//--> 
document.body.innerHTML += ss; 
    function getIP(json) { 

     document.body.innerHTML += '<iframe frameborder="0" marginheight="0" width="100%" 
height="700" src=" ' + 'http://client.richloomfabrics.com/cgi-bin/Wdrv01? 
&amp;PARPAR=CON&amp;MELMEL=ALL&amp;PTYPTY=UPH&amp;IPAIPA=' + json.ip + 
'&amp;IPACOK=' + RandomNumber(upper_limit) + '&amp;PGMPGM=WC033&amp;> 
</iframe>'; 

      } 
</script> 
<script type="application/javascript" src="https://api.ipify.org? 
format=jsonp&callback=getIP"></script> 
+0

Merci pour les suggestions, malheureusement, je ne peux pas obtenir l'un de ces au travail. En fait, quand je change ce que j'ai à ces suggestions, même pas le type dans les spectacles plus, donc quelque chose ne fonctionne vraiment pas. C'est sur un site Squarespace, je ne sais pas si cela fait une différence. Aussi, je suis vraiment un novice en matière de JS, je connais un peu le CSS et le HTML mais c'est tout, et malheureusement personne ici n'est meilleur. – jpmd0302

0

Vous pouvez également utiliser appendChild

var iframeElem = document.createElement('iframe'); 
iframeElem.src = 'https://www.google.com'; 
document.body.appendChild(iframeElem);