【问题标题】:Linking to a page within an iframe链接到 iframe 中的页面
【发布时间】:2011-05-08 12:21:24
【问题描述】:

在我正在开发的网站上,我们有一个新闻页面。新闻页面上是新闻文章的嵌入式 iframe。该网站还在每个页面上都有一个侧边栏,其中包含三个精选新闻故事标题。是否有可能让这些新闻故事都指向新闻页面,然后在 iframe 中打开相应的相关新闻文章?该站点是在 ExpressionEngine 中设置的,因此需要设置链接,以便客户端可以更改新闻链接和相应的 URL。

我知道如果我链接到新闻报道然后有 target="news-window"(和 iframe 上的新闻窗口),当您在新闻页面上时,它将在 iframe 中打开。问题是当您在不同的页面上时(因此无法找到 iframe),它会在单独的窗口中打开。我需要先让它进入新闻页面,然后执行href。我认为一些简单的 jquery 应该可以做到,但我不确定从哪里开始。任何帮助都会很棒。


根据下面的答案,我已将代码调整为如下所示:

侧边栏链接:<a href="/news#id=1930">Link Here</a>

在新闻页面上:

 <?php if ( isset( $_GET['id'] ) ) : ?>
    <iframe src="http://www.newsite.com/news/abunchofletters&ClientArticleID=<?php echo $_GET['id'] ?>" width="680" height="380" scrolling="yes" frameborder="0">
    </iframe>
  <?php endif; ?>

在 RSS 提要中,文章 ID 由“&ClientArticleID”调用。现在链接有效并且 iframe 有效,但是当您单击链接时,它仍然只指向新闻页面,而不是 iframe 中的特定文章。我正在使用 # 标签而不是 ?因为它?没有工作。可能是因为我的页面不是以 .php 结尾的,因为它们是通过 EE 实现的。有什么想法吗?

【问题讨论】:

    标签: jquery iframe hyperlink expressionengine


    【解决方案1】:

    当我们需要在 iframe 中显示来自另一个站点的页面时,我不得不这样做一次。如果您使用这样的 URL 调用新闻页面:

    http://domain.com/news.php?id=743
    

    其中id指的是数据库中的新闻条目ID,然后可以在news.php页面中放代码:

    <?php
    if ( isset( $_GET['id'] ) ) : ?>
    <iframe src="http://www.othersite.com/article.php?id=<?php echo $_GET['id'] ?>">
    </iframe>
    <?php endif; ?>
    

    这会将文章从查询字符串中指定的 ID 动态加载到 iframe 中。

    【讨论】:

    • 好的,我明白了这个概念,但不确定如何准确执行它。对于侧边栏链接,我会放 href="/news?id=743" (或任何适当的 ID?这一定不正确,因为它返回 404 错误?另外,我该把 PHP 代码放在哪里?在 iframe 之后在新闻页面上?
    • 因此,当您单击侧边栏链接时,它会将您带到新闻页面。新闻页面是否显示空 iframe?查看源码时iframe的src属性有什么值?
    • 好吧,它实际上并没有显示任何东西。我在想它没有注册设置的ID,所以它没有输出任何东西。使用 PHP 中的 if 子句,即使它在您单击链接时显示,是否只会在您单击侧链接时显示?如果你直接进入新闻页面呢?
    • 好吧,如果您直接进入新闻页面,而查询字符串中没有 id,那么您是对的,PHP 将完全跳过 iframe。因此,您应该在代码中添加一条“else”语句,以使用默认内容加载 iframe。
    【解决方案2】:

    为 iFrame 命名,然后为链接指定 iFrame 名称的目标。

    如果 iFrame 的名称为“mypage”,则代码如下所示:

    <iframe src="http://example.com" width="500px" height="500px" name="iframe"></iframe>
    <a href="http://doc.jsfiddle.net/" target="iframe">Go to JSFiddle Docs in the iFrame</a>
    

    查看http://jsfiddle.net/zJC6v/

    【讨论】:

      猜你喜欢
      • 2013-12-04
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      相关资源
      最近更新 更多