我需要获取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及更高版本。
答案 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