在Javascript中从iFrame中提取SRC

在Javascript中从iFrame中提取SRC,javascript,node.js,Javascript,Node.js,我有一个字符串中的iframe,如下所示: let data = "<iframe src=\"https://example.com/3380098/test/embed\" height=\"500\" width=\"100%\" style=\"border:0\"></iframe>" 但是从现在开始,我无法获得iframe的src。请帮忙 这个问题是不同的,因为没有真正的iframe,它是一个字符串。只需读取集合中第一个元素的src属性,然后解析URL l

我有一个字符串中的iframe,如下所示:

let data = "<iframe src=\"https://example.com/3380098/test/embed\" height=\"500\" width=\"100%\" style=\"border:0\"></iframe>"
但是从现在开始,我无法获得iframe的src。请帮忙


这个问题是不同的,因为没有真正的iframe,它是一个字符串。

只需读取集合中第一个元素的
src
属性,然后解析URL

let data=”“;
var parser=新的DOMParser();
var parsedIframe=parser.parseFromString(数据,“text/html”);
让iFrame=parsedIframe.getElementsByTagName(“iFrame”);
//阅读网址:
设src=iFrame[0].src;
console.log(src);
//解析URL:
让match=src.match(/\/(\d+)\/);
让数字=匹配?匹配[1]:空;

控制台日志(数字)您真的需要将其解析为DOM吗?如果它总是以类似的格式和类似的URL,那么您可以改为使用一些正则表达式,如:

let data = "<iframe src=\"https://example.com/3380098/test/embed\" height=\"500\" width=\"100%\" style=\"border:0\"></iframe>";
let match = data.match(/example\.com\/([0-9]+)\//i);
alert(match[1]);
let data=”“;
让match=data.match(/example\.com\/([0-9]+)\//i);
警报(匹配[1]);

仅访问其
src
属性?仅访问src(如iFrame.src)的可能重复项不会给我任何信息。我还尝试了iFrame[0].src。但是没有帮助。@ic3b3rg这不完全是一回事-如果src值通过重定向,则src值可能与页面的href不同first@MatthewHerbstOP reports
src
始终未定义-可能的原因是src是一个不同的域在我看来,这应该可以工作,但是我总是无法定义src。@asanas您真的运行了我答案中的代码片段吗?如果它在那里像对我一样起作用,那肯定还有别的问题。你是对的。这个片段很有效。但我的代码中还有其他错误。我得检查一下。可能是因为我在node?@asanas中使用dom parser来完成它,这肯定是个问题。不需要使用DOMParser将字符串解析为文档-它是一个简单的字符串
parsedIframe.getAttribute("src")
let data = "<iframe src=\"https://example.com/3380098/test/embed\" height=\"500\" width=\"100%\" style=\"border:0\"></iframe>";
let match = data.match(/example\.com\/([0-9]+)\//i);
alert(match[1]);