根据动态url设置iframe url

Set iframe url based on dynamic Url

本文关键字:url 设置 iframe 动态      更新时间:2023-09-26

有人知道一个javascript代码,将检测页面的动态url (?q=Chicken),并设置页面上的iframe的url为https://www.google.co.uk/?#q=Chicken。(我实际上并没有做一个谷歌搜索客户端!)

    Get - Text added to Url
    set
    Url of iframe to https://www.google.co.uk/?#q=Chicken

这些都将被加载。

你需要这样做:

<script>
function get_url_parameter(name) {
  return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/'+/g, '%20'))||null
}
document.addEventListener('DOMContentLoaded', doc_loaded, false);
function doc_loaded() {
    //var url = 'https://www.google.co.uk/?#q=' + get_url_parameter('q');
    var url = 'http://example.com/?#q=' + get_url_parameter('q');
    document.getElementById('iframe_id').src = url;
}
</script>
<iframe src="#" id="iframe_id" width="1000" height="500"></iframe>

但它不会为谷歌工作,因为它发送一个"X-Frame-Options: SAMEORIGIN"响应头:(

您可以在Javascript中使用location.search。https://developer.mozilla.org/en-US/docs/Web/API/URLUtils.search

所以一个例子是:

$('iframe')[0].src = "http://www.google.co.uk/" + location.search;

但是,Google不喜欢出现在iframe中。

试试这个,URL浏览"http://something.com/index.asp?search=anything

  <script type="text/javascript">
    $( document ).ready(function()
    {
    function getParameterByName(name) {
        name = name.replace(/['[]/, "''[").replace(/[']]/, "'']");
        var regex = new RegExp("[''?&]" + name + "=([^&#]*)"),
            results = regex.exec(location.search);
        return results == null ? "" : decodeURIComponent(results[1].replace(/'+/g, " "));
    }
     var urliframe =  "http://www.google.co.uk/?#q="+getParameterByName('search');
     $('#myIframe').attr('href',urliframe);
    });
    </script>
    <iframe id='myIframe' href='#'>