2016-07-04 203 views
1

我試圖更改的src屬性,具體取決於iframe src是否具有/?foo。Iframe src屬性更改參數

我有這樣的解決方案:

<script> 
    jQuery(document).ready(function($) { 
     $('iframe[src*="?foo"]').each(function() { 
      $('#frame').attr('src', "http://www.example.com/page2"); 
     }); 
    }); 
</script> 

<iframe id="frame" src=„www.example.com/page1/?foo"></iframe> 

但我的問題是,我的網頁,其中的iframe emded,所以我不能寫這個代碼到網站的<head>進不去。

我有機會獲得這兩個網頁www.example.com/page1www.example.com/page2

我不知道我該怎麼需要改變的代碼來操縱src ..我不知道這甚至有可能,當我有沒有訪問到iframe的頁面

+1

如果iframe的內容與包含iframe的頁面位於不同的域中,那麼將阻止您通過瀏覽器上的安全功能修改DOM。沒有解決方法。 –

+0

您正在使用'jQuery'和'javascript'。 .... ??? – Poonam

+0

重定向到'page1'上的'page2'? – Teemu

回答

1

如在How to retrieve GET parameters from javascript?中看到的,您可以使用以下代碼並調用函數parseSecond("foo")以獲取第1頁上的foo參數。你可以在問題頁面找到更多關於這方面的信息。

function parseSecond(val) { 
    var result = "Not found", 
     tmp = []; 
    var items = location.search.substr(1).split("&"); 
    for (var index = 0; index < items.length; index++) { 
     tmp = items[index].split("="); 
     if (tmp[0] === val) result = decodeURIComponent(tmp[1]); 
    } 
    return result; 
} 

然後,如果您想重定向到第2頁,你可以寫下面的代碼框架,從第1頁重定向到第二頁時,foo的參數具有等於欄中的值。

if(parseSecond("foo")=="bar"){ 
    window.location="www.example.com/page2"; 
}