默认情况下在iframe中打开传出链接?

时间:2012-06-25 16:50:07

标签: jquery html iframe anchor

我的网页上有许多外向链接,我想在浏览器的新标签页中打开,但在我自己网站的iframe内。

目前我正在使用以下代码:

<a href="www.example.com" target="_blank" onclick="this.href='http://mysite.com/article.php?link=www.example.com'">Example.com</a>

这似乎不是一个有效的解决方案(因为我读了一些谷歌搜索结果的东西),我也必须在每个链接中手动执行此操作。

还有其他方法可以实现吗? JQuerysh方式对我也有好处。

2 个答案:

答案 0 :(得分:2)

我假设您希望所有链接都自动重定向到iFrame,而无需修改现有代码。在这种情况下,您可以创建一个函数来重定向到iFrame,然后使用jQuery选择所有元素并添加onlick事件。

$("a").one("click", function () {
  this.href = 'http://mysite.com/article.php?link=' + this.href;
});

您可以编写一些额外的代码来删除“http://”并对其进行URL编码。

答案 1 :(得分:0)

如果您希望网站的框架点击了网址的iframe,请尝试以下操作...

您必须创建一个新页面才能充当代理。看来你已经用'http://mysite.com/article.php?link=www.example.com'来解决这个问题了。您将链接到代理页面,代理页面将保留iframe。像这样:

链接: <a href="article.php?link=example.com" target="_blank">Example.com</a>

article.php包含: <iframe src="<?php echo $_GET['link']; ?>" />

解决方案没有错误处理,也没有对URL进行编码。

或者,如果您只想打开当前iframe中的链接,请使用此..

链接: <a href="http://example.com" target="myframe">Example.com</a>

的iFrame: <iframe id="myframe" />