2016-12-15 84 views
0

嗨,我有一个工作解决方案,这个简短的内容已经有所改变,我现在需要找到解决办法。在新页面中的iframe中打开链接

情景是,我有一个按钮,点击时在iframe中打开特定的网址。这是工作与以下代码很好:

<a class="two_nights iframebutton_pink" href="buttonurl" target="bookingiframe" onclick="location.href='#booking'">Januar</a> 

<script> 
$("[target='bookingiframe']").on('click',function() { 
    $("#ifr").attr('src',$(this).attr('href')); 
    scrollt(); 
}); 
</script> 

这是下移到页面上的iframe和更改来源。这是IFRAME:

`<a id="booking"><div class="frame_container"><iframe name="bookingiframe" src="generalurl" width="100%" height="8000" frameborder="0" scrolling="0"></iframe></div></a>` 

iframe的内容现在需要一个网页,是白色的上市使这个解决方案行不通的。我需要做的是点击按钮,然后打开一个新页面,并打开iframe并将url更改为按钮的url。

任何帮助将不胜感激。

回答

0

您需要使用Iframe创建页面。

假设URL是yoursite.com/iFrame.html

你现在需要的是您的预订网址发送到新的一页。所以我们将使用URL参数来做到这一点。

因此,最终的URL看起来像 yoursite.com/iFrame.html*?url=h#tp://www/bookingurl.com.....*现在

上新页面,您需要下面的额外代码才能从参数中获取URL并加载iFrame。

function getParameterByName(name, url) { 
    if (!url) { 
     url = window.location.href; 
    } 
    name = name.replace(/[\[\]]/g, "\\$&"); 
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
     results = regex.exec(url); 
    if (!results) return null; 
    if (!results[2]) return ''; 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 

现在粘贴此代码后,您可以使用您的代码来填充iFrame。

<script> 
$(document).ready(function() { 
    $("#ifr").attr('src',getParameterByName(url)); 
}); 
</script> 

函数getParameterByName读取预订URl并加载Iframe。

所以最终的代码将

<a class="two_nights iframebutton_pink" href="yoursite.com/iFrame.html*?url=h#tp://www/bookingurl.com....." target="bookingiframe" target="_blank">January</a> 

而且JS代码上面

+0

谢谢你如此超与你的答案快。将现在尝试它,并会报告回来。 – mischiefbec

+0

好的,它会进入新页面,但不会在iframe中加载目标网址,这可能是因为iframe已经有设置源?或者我可能做错了什么。 :) – mischiefbec

+0

你可以用最终的代码创建一个小提琴。 –

相关问题