2016-12-15 91 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

你可以用最終的代碼創建一個小提琴。 –