繁体   English   中英

附加到IFRAME中的链接URL

[英]Appending to link URL in an IFRAME

我有一个带有IFRAME的页面。 IFRAME包含RSS文章的新闻源链接。 我想附加到每篇文章的URL target =“_ blank”,以便每篇文章都在新窗口中打开,而不是在IFRAME中打开。 我不想更改原始新闻源页面的布局或功能,所以我希望在点击时动态附加到URL。 主页面和IFRAME页面位于同一个域中。 任何帮助,将不胜感激。

示例代码:

<html>
<head>
</head>
<body>
<iframe src="http://vangopainting.net/painting-tips?tmpl=component"></iframe>
</body>
<html>

如您所见,上面的URL提取了一个剥离的Joomla页面,只显示了所显示的内容。 此IFRAME将嵌入到Facebook页面中,当用户点击链接时,它会将整个网站嵌入IFRAME,而不仅仅是文章。 我希望在新窗口中打开它,而不是IFRAME,方法是将URL =“_ blank”附加到URL,或者甚至将?tmpl = component附加到URL,以便Joomla除了文章之外的所有内容。

编辑添加:好的......这是我的代码:

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script>
    $(function() {
        $('iframe').load(function(){
            $('a',$(this).contents()).each(function(){this.href = this.href + "?tmpl=component";});
        });
    });
</script>
</head>
<body>
<iframe src="link.html" width="100%" height="50px" frameborder="0" scrolling="no"></iframe>
<iframe src="http://vangopainting.net/painting-tips?tmpl=component" width="100%" height="100%" frameborder="0" scrolling="no"></iframe>
</body>
</html>

我在Facebook上添加了第一个用于测试目的的iframe。

link.html中的内容:

<html>
<head>
</head>
<body>
<a href="http://vangopainting.net/painting-tips/508-newest-mobile-app-matches-paint-color-instantly">http://vangopainting.net/painting-tips/508-newest-mobile-app-matches-paint-color-instantly</a>
</body>
</html>

这是该页面的直接链接: http//vangopainting.net/fb/tabs/paintingtips/index.html一切正常。

这里有一个指向Facebook页面的链接: https//www.facebook.com/pages/Van-Go-Painting-Inc/177992368936448? sk = app_366401100043274第一个iframe的URL会按原样附加,但第二个iframe是不变。

我不知道为什么这不起作用。

这应该适合你。

$('a',$('iframe').contents()).attr('target','_blank');

简而言之,它抓取所有iframe的内容,找到它们a标签,并应用适当的target属性。

在示例中的head标记内添加以下(未经测试的)代码段,以获得所需的效果。

<script>
    $(function() {
        $('iframe').load(function(){
            $('a',$(this).contents()).attr('target','_blank');
        });
    });
</script>

在上面的片段中发生了很多等待事件。

  • 首先,我们通过将回调函数传递给$来等待页面加载。 我们想等待页面加载,所以我们知道我们可以找到我们的iframe
  • 执行该回调时,我们会找到所有iframe并附加一个不同的回调函数,以便在加载它们时调用它们。
  • 这种不同的回调是代码片段,它把查找的实际工作, a标签,并对其进行修正。

您可以通过访问iframe的内容.contents ,然后找到使用iframe中的元素.find然后使用each修改的元素,以自己的喜好,因为你没有提供任何代码,以便即时通讯也将坚持理论答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM