2012-11-27 41 views
1

是否有人知道我們如何訪問iFrame信息(右鍵單擊瀏覽器中的iFrame - >此框架 - >查看框架信息)如何通過javascript獲取iFrame信息(引用url)?

主要我想獲取推薦網址。

我能夠contentDocument.location.href

獲得地址,但我不能讓其他屬性(類型,渲染模式,引用URL,...)。

順便說一下,document.referrer不是我正在尋找的東西。

請儘快幫到

回答

1

主頁和iframe是否位於同一個域?由於「跨幀通信」在所有現代瀏覽器中受到嚴格限制,我認爲沒有辦法完成這一點。

+0

不,他們是在不同的域 – user1855017

0

我沒有寫這一點,不記得它是從哪裏來的,但它的死非常有用,這是一個片段,我始終保持周圍:

 function parseUri(str) { 
      var o = parseUri.options, 
       m = o.parser[o.strictMode ? "strict" : "loose"].exec(str), 
       uri = {}, 
       i = 14; 

      while (i--) uri[o.key[i]] = m[i] || ""; 

      uri[o.q.name] = {}; 
      uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) { 
       if ($1) uri[o.q.name][$1] = $2; 
      }); 

      return uri; 
     }; 

     parseUri.options = { 
      strictMode: false, 
      key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"], 
      q: { 
       name: "queryKey", 
       parser: /(?:^|&)([^&=]*)=?([^&]*)/g 
      }, 
      parser: { 
       strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)[email protected])?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, 
       loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)[email protected])?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ 
      } 
     }; 

然後使用它是這樣的:

 parseUri(document.referrer).host //<-- gets host name 
相關問題