【问题标题】:Set iframe url based on dynamic Url根据动态 Url 设置 iframe url
【发布时间】:2014-04-19 10:43:54
【问题描述】:

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

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

这将全部加载。

【问题讨论】:

  • 你使用的是什么服务器端语言?
  • 你可以获取动态url,从?做一个子字符串并获取参数。

标签: javascript jquery html iframe web


【解决方案1】:

你需要这样的东西:

<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>

但它不适用于 Google,因为它正在发送“X-Frame-Options: SAMEORIGIN”响应标头:(

【讨论】:

  • 非常适合我。非常感谢!
  • 如果页面的 url 中没有添加任何内容,有没有办法将 iframe 设置为不同的 url? (例如,如果它为空,则将其设置为谷歌主页)
  • 你可以这样做: if(get_url_parameter('q') == null) { var url = 'the-url-that-you-need'; } else { var url = 'example.com/?#q=' + get_url_parameter('q'); }
【解决方案2】:

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

所以一个例子是:

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

但是,Google 不喜欢在 iframe 中。您应该尝试其他网站。

【讨论】:

    【解决方案3】:

    试试这个,网址浏览了“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='#'>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      相关资源
      最近更新 更多