Javascript:在加载的页面中获取iframe ID

Pav*_*Pav 22 javascript iframe

我有一个有iframe的页面.每次页面加载时,iframe都会为其分配唯一的ID和名称.我可以在加载的iframe中获取iframe名称,如下所示:

alert(parent.window.frames[window.name].name);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试获取id值时:

alert(parent.window.frames[window.name].id);
Run Code Online (Sandbox Code Playgroud)

我明白了undefined

是否可以在加载的页面中获取iframe的id属性?


http://jsfiddle.net/cqFtB/


<iframe id="lyygi8stwZSANUEh" src="http://example.com" name="zma82vRVe18xbAqW" title="Awesome Iframe">
Run Code Online (Sandbox Code Playgroud)

example.com:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Awesome Iframe</title>
</head>
<body>
    <script type="text/javascript"> 
        alert(parent.window.frames[window.name].name);
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Bor*_*sky 58

试试window.frameElement.idiframe.

  • 穿过框架阵列有点特殊,所以你可以在跨源窗口上进行.并且`name`可能也是....但请注意,例如,您无法访问`parent.location.href`.同源限制适用于大多数DOM属性; 默认情况下,任何可以提供有关其他来源文档的信息的内容都是禁止的. (3认同)
  • 根据当前规范,您在跨源情境中得到null,而不是您无法从中获取任何属性的对象.当然,最终结果是相同的:你无法获得id cross-origin. (2认同)