Javascript 可以在没有API的情况下在iframe中打开instagram
在iframe标记中打开instagram的另一种方法,无需APIJavascript 可以在没有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
您可以使用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!可能重复的