【问题标题】:How do I stop images or flash from loading into the browser?如何阻止图像或 Flash 加载到浏览器中?
【发布时间】:2011-09-27 22:34:50
【问题描述】:

我正在创建一个网页,该网页接受来自用户的超链接并在 iframe 中显示该页面。在渲染页面时,我只想显示文本和简单的颜色,就是这样。

我想阻止所有媒体文件(如图像和 Flash 脚本)显示。

如果不是一个广泛的,对于初学者,我想将范围限制为 .gif、.jpeg、.jpg、.png、.swf。

或者有人知道有类似功能的网站吗?

【问题讨论】:

  • 我的理解是,您只能更改 iframe 本身的属性,例如 heightwidth,但您实际上无法访问 iframe 内的 DOM。
  • 网址与网站是否在同一个域中?如果是这样,一个简单的 javascript 函数可以访问 iframe 并删除媒体。如果,由于cross site scripting 安全策略,您无论如何都无法影响内容

标签: html image rendering


【解决方案1】:

您可以编写一个简单的 dom 解析器并在 iframe 中显示之前解析页面。然后在显示它之前,您可以删除任何您想要的内容。

你喜欢的 iframe

<iframe src="your_parser.php"></iframe>

在您的解析器中,您可以使用 file_get_contents() 或 curl() 从页面获取内容,这是您的选择(我会使用 curl)。然后你可以删除你想要的媒体。

【讨论】:

  • Micheal 的评论是否适用于您的解决方案?
  • 一点也不。此解决方案在从其他域获取 html 内容后对其进行修改。 Michaels 解决方案仅适用于同一域,并且 iframe 内容在加载后会更改。我的解决方案是从您的服务器获取目标域内容,对其进行修改,然后将其显示为已修改。
【解决方案2】:

如果您使用的是 Firefox,请使用 Adblock Plus 扩展程序。您可以通过过滤规则指定要阻止的项目类型。一个示例(使用 Safaribooks)如下所示:

||techbus.safaribooksonline.com/static/201109-2191-techbus/images/6.0/*.jpg

但是,如果您要在页面中加入功能以去除特定的内容类型列表,那么这种方法对您没有帮助。您需要提取 html 源代码并删除有问题的内容类型。

【讨论】:

    【解决方案3】:

    如果您使用的是 cms。你应该关闭 bbcode 图像,并嵌入 html

    【讨论】:

      猜你喜欢
      • 2014-03-06
      • 2015-04-13
      • 2012-08-25
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-27
      相关资源
      最近更新 更多