如何获取iframe对象的来源

时间:2015-09-04 09:57:02

标签: javascript jquery html iframe

我需要获取iframe的来源。到目前为止,我们使用的代码创建了一个锚元素并读取它的原点,但是这个属性在Internet Explorer中不可用。从iframe对象获取原点的最优雅方法是什么?

这是旧代码:

function getOrigin(href) {
  var l = document.createElement("a");
  l.href = href;
  return l.origin;
};

var x = document.getElementById("my-iframe");
alert(getOrigin(x.src));

但正如我所说,Internet Explorer不支持origin属性。

我需要支持Internet Explorer 10及更高版本。

2 个答案:

答案 0 :(得分:1)

创建元素来解析字符串非常脏。

为什么不自己解析?

location.href.match...

如果您还想支持相对网址(例如'/ myurl'),只需添加一些条件即可获取当前窗口的网址:

 <query>
    <textquery lang="ENGLISH" grammar="CONTEXT"> informix informi inform infor info
      <progression>
        <seq><rewrite>transform((TOKENS, "{", "}", "OR"))</rewrite></seq>
      </progression>
    </textquery>
 </query>

答案 1 :(得分:1)

sed (GNU sed) 4.7
Packaged by Debian
Copyright (C) 2018 Free Software Foundation, Inc.
var x = document.getElementById("myiframe");
alert(new URL(x.src).origin);

检查src是否为相对URL:How to test if a URL string is absolute or relative?

生成相对URL的绝对URL:Convert relative path to absolute using JavaScript