为啥我的 jquery 不采用这个 iframe 的类?

Posted

技术标签:

【中文标题】为啥我的 jquery 不采用这个 iframe 的类?【英文标题】:Why my jquery don't take that classes of this iframe?为什么我的 jquery 不采用这个 iframe 的类? 【发布时间】:2021-09-12 23:17:00 【问题描述】:

我正在尝试获取名称为“titular_portada”的所有课程。

有很多,但由于某种原因不起作用:

<!DOCTYPE html>
<html lang="es">
<head>
    <link rel="stylesheet" href="css/styles.css">
</head>
<body>
    <iframe src="https://vandal.elespanol.com" id="iframe"  ></iframe>
    <script src="js/jquery-3.6.0.js"></script>
</body>
</html>
$(window).on("load", function() 
    $("#iframe > .titulo_portada").each((i, el) => 
        console.log(el);
    );
);

【问题讨论】:

iframe 是否与主页在同一个域中? 摆脱&gt;。这只查找直系子代,但至少有 &lt;htm&gt;&lt;body&gt; 元素介于两者之间。 【参考方案1】:
$(window).on("load", function() 
    var iframe = document.getElementById("iframe");  
    var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
    $(".titulo_portada",$(iframeDocument)).each((i, el) => 
        console.log(el);
    );
);

它应该可以工作,但是 https://jsfiddle.net/NickU/65dxzg3s/9/ 的 jsfiddle 显示错误“Uncaught SecurityError: Blocked a frame with origin "https://fiddle.jshell.net" from access a cross-origin frame.”

【讨论】:

以上是关于为啥我的 jquery 不采用这个 iframe 的类?的主要内容,如果未能解决你的问题,请参考以下文章

iframe 为啥得不到 referrer

为啥同位素会混淆点击 iFrame?

为啥我的 UIWebView 不显示 Javascript YouTube 播放器 iFrame?

为啥网页的iframe插入网页后显示不出来

为啥 iframe.contentWindow == null?

为啥 google.com 不加载到 iFrame [重复]