大家好,我有一个有效的解决方案,这个简介已经改变了一些意义,我现在需要找到一个解决方法。
场景是我有一个按钮,当点击它时会在iframe中打开一个特定的URL。使用以下代码时效果很好:
<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 :(得分:0)
您需要使用Iframe创建一个页面。
假设网址为 yoursite.com/iFrame.html
您现在需要将预订网址发送到该新网页。所以我们将使用URL param来做到这一点。
所以你的最终网址看起来像 的 yoursite.com/iFrame.html*?url=h#tp://www/bookingurl.com.....* 强>
现在,在新页面上,您需要以下额外代码才能从参数中获取网址并加载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代码