【问题标题】:Opening a link inside a website在网站内打开链接
【发布时间】:2014-01-21 13:02:15
【问题描述】:

我父亲曾经制作网站,在浏览一个网站时,我注意到在同一个地址停留时,他能够在同一个页面内显示一个外部网站。他基本上只有一个侧边栏,其余的都在那里打开从栏中的链接。我正在尝试达到类似的效果。

PS:我认为他不必使用任何 PHP,他早在 1998 年就使用过。

【问题讨论】:

  • 你在想iframes吗?不过,我相信这些日子并不是很流行,而且 CSS+DOM 操作往往被用于更改页面特定部分的内容。
  • 听起来像帧。
  • 我可以包含 PHP 作为替代品吗?
  • @Albert Xing:不,您正在考虑 标签。 ;)

标签: php html iframe


【解决方案1】:

从技术上讲,您可以使用<iframe> 将一个页面包含到另一个页面中,它会在您的页面内生成一个框并并行加载请求的页面。一个简单的example can be found here.
要制作自己的页面,您只需更改iframe 行:

<html>
<body>
<h1>Your fancy web page</h1>

    <iframe src="http://cat-bounce.com/">
      <p>Your browser does not support iframes.</p>
    </iframe>

</body>
</html>

... 将加载一个带有标题的页面一个带有一些猫的页面在一个盒子里弹跳。您可以与两个页面进行交互,但它们不能在它们之间共享对象。
另外,某些网站不支持 iframe,会返回空白框,例如 StackOverflow、Google 等。

请注意,这种方法在今天很不受欢迎。

【讨论】:

  • 您的示例不起作用,因为 stackoverflow 不支持 iframe。它最终看起来像这样:imgur.com/1p7xtFD
  • 哦哦哦。很高兴知道,我将更改示例。
【解决方案2】:

现在这样做的指导方针:

1- 在您的页面中创建一个 iframe,其名称属性为 &lt;iframe name="myLinksWin"&gt;&lt;/iframe&gt;

2- 在您希望在此 iframe 中打开的每个链接中,您必须使用 target 属性,其值等于 iframe 名称属性 &lt;a href="http://yahoo.com" target="myLinksWin"&gt;The link&lt;/a&gt;

不过,我想你父亲在 1998 年使用的是frameset

【讨论】:

    【解决方案3】:

    方法一
    使用iframe,它允许您显示来自其他来源的内容。但是,并非所有网站都支持这一点。通过将window.locationdocument.location 进行比较,站点可以轻松检测它们是否在iframe 中。

    方法二
    使用 AJAX 加载其他页面的部分内容(不过我不确定这是否适用于所有页面)。如果您需要在该页面上加载具有相对定义的源的图像/样式表/脚本,则可能会导致问题。

    方法三 使用 cURL 从 PHP 加载页面。这将加载任何页面,但如果您需要在该页面上加载图像/样式表/脚本并使用相对定义的源,则可能会导致问题。

    【讨论】:

    • 我可以做 PHP 包括吗?
    • @Hunter 我不确定你的意思。
    • @Hunter PHP 包括什么? PHP include 用于导入 PHP 代码以在当前脚本中使用,而不是用于获取网站
    • @Hunter 是的,您可以使用上述任何一种方法获取整个站点。但是,有些网站会阻止您这样做(例如 Google 和 Facebook)。
    • @cloudcoder2000 2 和 3 都不适用于外部样式表和 javascript。
    猜你喜欢
    • 2017-08-27
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 2022-10-06
    • 2012-10-01
    • 2012-10-28
    • 1970-01-01
    相关资源
    最近更新 更多