Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可以在没有API的情况下在iframe中打开instagram_Javascript_Html_Css - Fatal编程技术网

Javascript 可以在没有API的情况下在iframe中打开instagram

Javascript 可以在没有API的情况下在iframe中打开instagram,javascript,html,css,Javascript,Html,Css,在iframe标记中打开instagram的另一种方法,无需API 您可以使用Instagram帖子提供的嵌入链接轻松嵌入Instagram帖子 资料来源: 例如: 10月18日(@instagram)共享的帖子,2019年太平洋夏令时上午8时59分,您可以通过以下方法检查IFrame中是否允许任何url(example.com),以确定特定的来源 function isAllowededByXFrameOption({ header, origin }) { if (header["X

在iframe标记中打开instagram的另一种方法,无需API


您可以使用Instagram帖子提供的嵌入链接轻松嵌入Instagram帖子

资料来源:

例如:


10月18日(@instagram)共享的帖子,2019年太平洋夏令时上午8时59分,您可以通过以下方法检查IFrame中是否允许任何url(

example.com
),以确定特定的
来源

function isAllowededByXFrameOption({ header, origin }) {
  if (header["X-Frame-Options".toLowerCase()]) {
    let options = header["X-Frame-Options".toLowerCase()].toLowerCase();
    if (options === "SAMEORIGIN".toLowerCase()) {
      return false;
    } else if (options === "DENY".toLowerCase()) {
      return false;
    } else if (~options.indexOf("ALLOW-FROM".toLowerCase())) {
      let allowedOrigins = options.split(" ").slice(1);
      return allowedOrigins.find(
        _o => url.parse(_o).host === url.parse(origin).host
      );
    }
  }
  if (header["Content-Security-Policy".toLowerCase()]) {
    let _options = header["Content-Security-Policy".toLowerCase()];
    let CheckOriginInSource = source_name => {
      _options = _options.split(";");
      _options = _options.find(_o => _o.indexOf(source_name) > -1);
      _options = _options.split(" ").slice(1);
      return _options.find(_o => url.parse(_o).host === url.parse(origin).host);
    };
    if (_options.indexOf("frame-src") > -1) {
      return CheckOriginInSource("frame-src");
    } else if (_options.indexOf("child-src")) {
      return CheckOriginInSource("child-src");
    } else if (_options.indexOf("default-src")) {
      return CheckOriginInSource("default-src");
    } else {
      return true;
    }
  } else {
    return true;
  }
}
const got = require("got");
const metascraper = require("metascraper")([
  require("metascraper-author")(),
  require("metascraper-date")(),
  require("metascraper-description")(),
  require("metascraper-image")(),
  require("metascraper-logo")(),
  require("metascraper-clearbit-logo")(),
  require("metascraper-publisher")(),
  require("metascraper-title")(),
  require("metascraper-url")()
]);
const Domain = "example.com";
(async () => {
     const { body: html, url, headers } = await got(Domain);
     const metadata = await metascraper({ html, url });
     const isAllowed = isAllowededByXFrameOption({
                        header: headers,
                        origin: "www.app4pc.com"
                    })
})();

这将有助于你嵌入instagram!可能重复的