【问题标题】:How to force a page to stay inside an iframe?如何强制页面停留在 iframe 中?
【发布时间】:2012-01-18 00:38:17
【问题描述】:

我想允许在 iframe 中加载任何页面。这是出于教学目的,所以我想知道是否可以强制让我们说:

<iframe src="http://www.wolframalpha.com/input/?i=5*sin%28x%29" width="400" height="100">

留在 iframe 内。默认情况下,它具有某种全页打开的 javascript。

更新:如果我使用框架怎么办? (请不要向我扔砖头)他们能知道页面是否在框架内吗?

【问题讨论】:

  • 我认为(/我希望)做不到。我自己使用这样的脚本。 if (window!=top){top.location.href=location.href;}
  • 您确定这样做没有违反 WA 条款和条件吗?这是他们的网站,他们希望它嵌入到您的网站中。对我来说似乎很公平。

标签: javascript iframe xhtml


【解决方案1】:

在某些浏览器上,您可以在 iframe 元素上设置一个属性,该属性设置一个阻止 iframe 执行 JavaScript 的安全策略。我不记得属性名称,也不确定哪些浏览器支持它(我确定 ie 支持,不太确定其他浏览器)。如果您在查找更多详细信息时遇到问题,我会在回家时查找(现在在手机上)

编辑: 找到了 - security="restricted"。似乎仅限 IE。

【讨论】:

    【解决方案2】:

    如果您有此 iFrame 之外的链接并希望它们加载到同一页面上的该 iFrame 中,您必须为其命名,然后在链接的 href 中定位命名的 iFrame。

    <iframe src="http://google.com" name="myframe" hieght="100" width="100"></iframe>
    <br />
    <a href="http://reddit.com" target="myframe">Derp</a>.
    

    但是,如果您将一个页面加载到您的 iFrame 中,该页面正在加载带有 target="blank" 的链接,那么这些页面将转到一个新窗口;除非您无权访问这些页面,否则您将无法更改链接(缺少编写 JS 以深入您的 iFrame 等)。

    【讨论】:

    • 仔细观察,也许你是对的。忽略我的胡言乱语。 :)
    【解决方案3】:

    如果页面本身想要摆脱被它自己的 javascript(显然这个页面正在这样做)的框架,它可以这样做,我知道除了在你自己的浏览器中关闭 javascript 之外没有办法阻止它显然不是一般观看的选项。

    【讨论】:

      猜你喜欢
      • 2018-09-17
      • 1970-01-01
      • 2011-12-03
      • 2021-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      相关资源
      最近更新 更多