2017-09-14 2 views
-1

Je ne peux pas rendre le google ou toute autre page de mon site en utilisant iframe . Afficher l'erreur Refus d'afficher 'https://www.google.co.in/ dans un cadre car il a défini' X-Frame-Options 'sur' sameorigin '.Refus d'afficher 'https://www.google.co.in/ dans un cadre, car il a mis' X-Frame-Options 'à' sameorigin '

+1

Qu'est-ce que vous essayez d'atteindre en ajoutant Google dans un iframe? – EarthDragon

+0

Etes-vous en train d'essayer d'obtenir une recherche google intégrée comme [ceci] (https://stackoverflow.com/questions/275153/how-can-i-add-an-integrated-google-search-to-my-website)? – EarthDragon

+0

Désolé, pour un exemple j'ai utilisé un google pour ajouter iframe, mais j'ai besoin de mon projet pour ajouter un autre projet. A partir de ce projet, j'obtiens cette erreur –

Répondre

1

Vous pouvez utiliser cette solution:

<html> 
 
<head> 
 

 
</head> 
 
<body> 
 
<iframe src="http://google.co.in" width="800" height="500"></iframe> 
 

 
<script> 
 
var iframe = document.getElementsByTagName('iframe')[0]; 
 
var url = iframe.src; 
 
var getData = function (data) { 
 
    if (data && data.query && data.query.results && data.query.results.resources && data.query.results.resources.content && data.query.results.resources.status == 200) loadHTML(data.query.results.resources.content); 
 
    else if (data && data.error && data.error.description) loadHTML(data.error.description); 
 
    else loadHTML('Error: Cannot load ' + url); 
 
}; 
 
var loadURL = function (src) { 
 
    url = src; 
 
    var script = document.createElement('script'); 
 
    script.src = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20data.headers%20where%20url%3D%22' + encodeURIComponent(url) + '%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=getData'; 
 
    document.body.appendChild(script); 
 
}; 
 
var loadHTML = function (html) { 
 
    iframe.src = 'about:blank'; 
 
    iframe.contentWindow.document.open(); 
 
    iframe.contentWindow.document.write(html.replace(/<head>/i, '<head><base href="' + url + '"><scr' + 'ipt>document.addEventListener("click", function(e) { if(e.target && e.target.nodeName == "A") { e.preventDefault(); parent.loadURL(e.target.href); } });</scr' + 'ipt>')); 
 
    iframe.contentWindow.document.close(); 
 
} 
 

 
loadURL(iframe.src); 
 
</script> 
 
</body> 
 
</html>

Source: http://jsfiddle.net/2gou4yen/