错误:在一个框架中,因为它将'X-Frame-Options'设置为'sameorigin'

时间:2017-07-14 09:44:35

标签: javascript google-patent-search

当我在 error 中实施 patent search google 时,我得到了以下iframe

in a frame because it set 'X-Frame-Options' to 'sameorigin'.

document.getElementById("go_search").onclick = function() {
  myFunction();
};

function myFunction() {
  var patent_content = document.getElementById("patent_content").value;

  var html_content = '<iframe crossorigin="anonymous" src="https://patents.google.com/?q=' + patent_content + '&embedded=true" height="200" width="300"></iframe>';
  document.getElementById("result").innerHTML = html_content;
}
<h2>Google Patent Search</h2>
<form>
  <p>Paste your content</p>
  <textarea id="patent_content"></textarea>
  <input type="button" id="go_search" value="go" />
</form>
<div id="result">
</div>

请帮我解决。

提前致谢。

错误: 在Chrome中

patent.html:1 Refused to display 'https://patents.google.com/?q=fghfhfghfg' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
patent.html:24 GET https://patents.google.com/?q=fghfhfghfg net::ERR_BLOCKED_BY_RESPONSE

错误: 在Mozilla

Load denied by X-Frame-Options: https://patents.google.com/?q=dsfsdfsd&embedded=true does not permit cross-origin framing.

2 个答案:

答案 0 :(得分:1)

网站https://patents.google.com有一个X-Frame-Options,只允许具有相同域名的网站(例如,仅限其他Google网站)以<iframe>呈现其网页。

所以你不能将他们的网站嵌入你的网站。浏览器在看到响应标头包含X-Frame-Options: SAMEORIGIN时,会检查您的域并阻止<iframe>的呈现。这是一种避免clickjacking的安全措施。

答案 1 :(得分:1)

我也有这个问题,但你所要做的就是抓住youtube链接的最后一点。 例如,在此链接中https://www.youtube.com/watch?v=KUh2O8HylUM

KUh2O8HylUM - 复制此内容并在src =&#34; https://youtube.com/embed/ 此处&#34;如下图所示。

<iframe src="https://youtube.com/embed/KUh2O8HylUM"
        width="560" height="315" frameborder="0" allowfullscreen>
</iframe>