如何从远程页面获取iframe内容?

2024-03-31

我认为PHP没有用,因为iframe是在php执行后插入的,还是我错了?

所以,我知道的唯一解决方案是使用 Javascript/jQuery。

例如。如果 JS 与 iframe 位于同一页面上,则这将起作用:

<html>
<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script type="text/javascript">

  $(function() {
    var myContent = $("#iFrame").contents().find("#myContent")
  });

</script>
</head>
<body>
  <iframe src="mifile.html" id="iFrame" style="width:200px;height:70px;border:dotted 1px red" frameborder="0">
     <div id="myContent">
        iframe content blablabla
     </div>
  </iframe>
</body>
</html>

不过,我正在使用简单的 HTML DOM 库来抓取远程网页,例如:

$url = 'http://page-with-some-iframe.com/';
            $html = file_get_html( $url );

            // Find iframes and put them in an array
            $iframes_arr = array();
            foreach($html->find('iframe') as $element) {
                $iframes_arr[] = $element->outertext;
            }
var_dump($iframes_arr);
die();

但显然,没有返回任何内容;(,因为 iframe 是在 php 运行后显示的;(

所以,我想我可能需要注入这段代码:

<script type="text/javascript">

  $(function() {
    var myContent = $("#iFrame").contents().find("#myContent")
  });

</script>

在我抓取的页面的标题中存储在 $html 中。

知道如何获取这样的 iframe 内容吗?或者这种方法是否太复杂,并且确实存在一些更简单的解决方案?


由于同源策略,您将无法使用 javascript 访问 iframe 内的远程页面的文档。

如果您知道页面的 URL,则可以使用 PHP CURL 来检索它

<?php 
        // Initialise a cURL object
        $ch = curl_init(); 

        // Set url and other options
        curl_setopt($ch, CURLOPT_URL, "http://page-with-some-iframe.com");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

        // Get the page contents
        $output = curl_exec($ch); 

        // close curl resource to free up system resources 
        curl_close($ch);  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从远程页面获取iframe内容? 的相关文章

  • 如何防止在以 .php 结尾的 URL 后添加其他字符串?

    我们网站的团队刚刚发现 任何用户都可以在以 php 扩展名结尾的 URL 后面添加斜杠 然后添加任何字符串 并且仍然可以访问相同的原始页面 例如 我可以通过以下方式访问 www mydomain com index php www mydo
  • ZF2:如何从自定义类内部获取 ServiceManager 实例

    我无法弄清楚如何从自定义类内部获取 ServiceManager 实例 在控制器内部很简单 this gt getServiceLocator gt get My CustomLogger gt log 5 my message 现在 我创
  • 按列对 3d 数组中的行数据进行分组,并合并每组中的子数组数据

    我有一个下面提到的数组 array array 0 gt array names gt array 0 gt Apple group gt 1 1 gt array names gt array 0 gt Mango group gt 1
  • 将内容从一个隐藏的 div 移动到另一个显示的 div

    如何使用 jquery 将内容从一个隐藏的 div 移动到另一个显示的 div 假设我有 div1 显示样式为 none 另一个 div div2 显示样式块 如何将内容从 div1 移动到 div2 并清除 div1 contents 可
  • 使用 PHP 调用涉及枚举的 Web 服务 (SOAP)

    我希望使用 SOAP 从 PHP 调用 Web 服务 使用包含的 SOAP 扩展 有问题的网络服务是http www webservicex net CurrencyConvertor asmx http www webservicex n
  • echo 完整的 joomla 查询(带有限制等)?

    我想知道是否有一种方法可以用 limit 和 limitstart 等来回显完整的查询 我可以回显 query 行 但我想看看为什么限制不起作用 但我似乎无法理解它显示发送到数据库的实际查询 代码如下 params JComponentHe
  • 如何按布尔值对数组进行排序

    我有一个看起来像这样的数组 array array foo gt true array foo gt false array foo gt true array foo gt true array foo gt false 有没有一种简单的
  • 将 .Net-Repeater 与 jquery 结合使用

    我有一个中继器 ASP Net
  • 是否有 NoSQL 解决方案的比较(在某些情况下哪个更好?)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 当我在 Linux PHP 架构中构建基于密钥的归档应用程序时 我正在尝试了解有关 NoSQL 的更多信息 谁能解释一下主要解决方案
  • jquery $('id').text 带粗体

    我有一个 jquery 可以更改链接的文本 如下所示 if urlfind gt 0 linkurl text More info 和 HTML a href a 我试图为此链接添加粗体 但添加 b More Info b 让它们在文本本身
  • PHP 日期/时间格式,需要一些帮助

    你能帮我使用 PHP 格式化以下日期吗 变量 start 包含以下日期 这个日期 Wed Feb 01 2012 05 00 00 GMT 080 应该成为 2012 02 01T13 00 00 我知道如何使用基本的 PHP 日期 时间格
  • 如何在 .net 中为 Google 云存储签名 url

    我想知道如何使用 net中的谷歌云存储类生成signurl 我已经根据要求创建了字符串 GET 1388534400 bucket objectname 但我现在想用 p12 密钥签署这个 url 然后想让它变得 url 友好 该库没有显示
  • 在 SmartWizard 中后退时跳过验证

    我正在使用 SmartWizard 2 0 link http techlaboratory net products php product smartwizard 并且当用户点击 上一页 按钮或以任何方式在表单中向后移动时 我需要停止验
  • 针对较小屏幕的拆分表行

    我有一个固定宽度为 960px 有 5 列的表格 当我在移动设备中查看时 我想制作第 3 4 5 列 看起来就像在下一行 有什么方法可以让 CSS 打断一行 使其看起来像这样 但是 还保留原来的HTML代码吗 您可以使用 FlexBox f
  • 统计并限制上传的文件数量(HTML文件输入)

    我有那个基本的 众所周知的多文件上传表单 类似的事情
  • 插入值数组

    我有一个具有可变数量值的数组 除了内部带有查询的循环之外 是否有更有效或更好的方法将它们插入到我的数据库中 At 这个网站 http www desilva biz mysql insert html 有一个很好的 MySQL 多插入查询示
  • 根据用户投票移动 div

    我是新来的 但我喜欢这个网站 我检查了其他类似的问题 但没有看到我要找的东西 我是一名音乐家 有一段时间我一直在做 每日之歌 每天写一首小歌 我想将歌曲发布为 div 在里面 li 在 div 中 我只想要一个简单的 mp3 播放器和一个
  • 哪个 SVG/SMIL DOM 元素具有“beginElement”方法?

    最终 这是针对将在 Firefox 中运行的 Kiosk 风格的应用程序 使用 jQuery 1 6 4 因此答案可能是特定于 Firefox 的 我正在尝试制作动画 SVG 但我正在尝试通过动态插入 SMIL 来为其设置动画 我没有看到任
  • 如何隐藏实际的下载文件夹位置

    我想隐藏下载文件夹位置 以便用户下载文件时看不到该位置 我认为这可以使用 htaccess 文件来完成 但我该如何做到这一点 或者如何使用 PHP 来完成此操作 我在 PHP 中是这样做的
  • 让网站登录也能在 WordPress 上使用

    我使用 PHP 和 MySQL 开发了一个网站 该网站已经有登录和注册表单 myweb com 我已经在这个网址添加了 wordpressmyweb com blog 我想禁用 WordPress 上的登录和注册页面并强制用户使用我的 基本

随机推荐

  • SPOJ:洗牌

    最近开始解答网上评委的问题 我被困在SPOJ 中的这个问题 http www spoj pl problems CODESPTC 下面是洗 N 张牌的算法 这些牌被分成 K 个相等的牌堆 其中 K 是 N 的因数 底部的 N K 张牌按相同
  • Rails 中的部分 SSL

    我正在寻找在 Rails 中做一个部分 SSL 站点 我基本上想保护 SSL 背后的用户操作 但仅此而已 有人知道有一个插件或 gem 可以让这个变得简单而高效吗 这通常是通过SSL 要求 http github com rails ssl
  • 未收到从 MFMailComposer 发送的附件

    我正在尝试在 iPad 上发送一封带有 csv 附件的电子邮件 我根据下面显示的许多示例使用 MFMailComposer 发送电子邮件时 我可以在 MFMailComposer 窗口中看到正确的文件附件 但是当我收到电子邮件时 没有附加任
  • 创建C# Winform开发生产环境

    我想知道为我的 C winforms 项目正确创建开发和生产环境的最佳方法是什么 不幸的是没有开发环境 相反 每次我希望创建生产或开发版本时 我都必须指定发布路径 此外 由于每个产品或开发版本都使用不同的连接字符串 因此我也必须进入代码并更
  • 错误NG6002:出现在AppModule的NgModule.imports中,但本身有错误

    我在本地和建筑项目中有 Angular 12 它运行良好 没有任何错误 我的本地设置 Angular CLI 12 0 5 Node 12 16 3 Package Manager npm 6 14 4 OS win32 x64 Angul
  • 我可以从存储过程返回 varchar(max) 吗?

    带有 SQL Server 2005 后端的 VB net Web 系统 我有一个返回 varchar 的存储过程 但我们最终得到的值不适合 varchar 8000 我已将返回参数更改为 varchar max 但如何告诉 OleDbPa
  • SQL Server 找出表何时被重命名?

    是否可以查出表何时被重命名 作为首要问题 如果可能的话 是哪个用户干的 你可以试试这个 SELECT Name modify date FROM sys all objects WHERE Name Table name
  • 传递不带等号的查询字符串参数(值为空)是否有效?

    变化1 file jsp parameter1 parameter2 abc 变化2 file jsp parameter1 parameter2 abc 我知道变体 1 被认为是有效的 但是变体 2 被认为是有效的吗 具体来说 参数没有值
  • 使用 zope.schema 定义循环引用

    我正在尝试执行以下操作 定义两个类 其实例相互引用 例如以下示例中的用户和组 一个用户可以属于多个组 一个组可以包含多个用户 实际数据存储在数据库中 这是使用外键的多对多关系的简单问题 完全没问题 然后 数据通过 ORM 加载并存储在 py
  • Google Cloud Builder - Gradle

    继以下帖子后https cloudplatform googleblog com 2017 03 Google Cloud Container Builder a fast and flexible way to package your
  • 是否可以在 Vercel 中部署 NodeJs 应用程序?

    我正在尝试在 Vercel https vercel com https vercel com 之前的 Now 来自 CLI 但是 当我部署应用程序时 我打开站点 结果只是路径目录中的文件 而不是正在运行的应用程序 这是我的server j
  • 最简单的通过鼠标旋转相机不起作用

    好吧 这让我发疯 文档非常薄弱 Oracle 的示例应用程序非常奇怪 有一个巨大而复杂的帮助程序类 甚至这里的有关它的问题也没有答案 我基本上遵循并简化了本教程 https www genuinecoder com javafx 3d tu
  • .ogg 视频无法在 Firefox 中播放

    我们刚刚开始使用 html5 视频 似乎无法得到 ogg要在 Firefox 中播放文件 有什么提示吗 这是我们正在使用的来源
  • Objective C 中如何将字符串转换为数组?

    如何在 Objective C 中将字符串转换为数组 即 我有一个字符串 NSString str Hi How r u 这应该转换为数组 NSMutableArrayarr 其中 arr 0 嗨 arr 1 arr 2 如何 arr 3
  • 如果依赖项位于 false 分支语句内,则计算将永远停止触发

    我遇到一个问题 即我的计算可观察量在一系列依赖项更改后停止触发 最后我发现了一点 如果在最近一次评估期间依赖项位于错误分支语句内 则下次将不会触发计算即使在评估完成之前条件变为真 这是一个示例 https jsfiddle net sgs2
  • 非静态方法 next() 不能从静态上下文中引用

    我正在尝试解析一个mm dd yyyy将日期格式化为单独的字段 但是当我尝试编译时出现以下错误 非静态方法 next 不能从静态上下文中引用 什么可能导致错误 import java util Scanner public class Pr
  • 使用 c3p0 和 tomcat 与 MySQL 的僵尸连接

    我正在使用 c3p0 来管理与 MySQL 的数据库连接 问题是某些连接被永远保留 我的连接数限制为 1000 个 但由于某种未知原因 打开的连接数为 1200 个 为了调查它 我在 tomcat 服务器 shell 中执行以下命令 net
  • Eclipse PDT + 代码完成根本不起作用

    我想启动一个新的 Zend 项目 目前我面临一些有关 Eclipse PDT 的问题 我的问题是 Eclipse for PHP 中的代码完成根本不起作用 我尝试了很多不同的教程等 例如制作一个新项目并导入文件 创建一个新的工作区并在那里导
  • 在静态方法中使用 WPF 检测设计模式

    我正在使用 WPF 我有一个静态类 它执行一些在设计模式下不可用的设置 该构造函数由设计模式下的窗口调用 这会导致抛出异常 如何在静态方法中检测设计模式 以便可以调用适当的设计模式行为 The 推荐方法 https stackoverflo
  • 如何从远程页面获取iframe内容?

    我认为PHP没有用 因为iframe是在php执行后插入的 还是我错了 所以 我知道的唯一解决方案是使用 Javascript jQuery 例如 如果 JS 与 iframe 位于同一页面上 则这将起作用