Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取加载的iframe标题元素?_Javascript_Jquery_Dom_Iframe - Fatal编程技术网

Javascript 如何获取加载的iframe标题元素?

Javascript 如何获取加载的iframe标题元素?,javascript,jquery,dom,iframe,Javascript,Jquery,Dom,Iframe,我正在尝试编写一个脚本,为iframe元素创建一个动态标题,而不是硬编码标题属性。所以我想获取iframe的src并加载该对象,然后获取该对象的title元素。我尝试使用iframe.contentDocument,但出现了跨域安全错误。如消息所述,由于安全原因,您无法访问另一个域的内容(如此)。对于您的用例来说,解决这个问题的一种方法是使用ajax加载iframe的站点,并从响应中读取标题。 由于title标记不是文档(=正文)的一部分,因此无法使用$('title',dom)或dom.fin

我正在尝试编写一个脚本,为iframe元素创建一个动态标题,而不是硬编码标题属性。所以我想获取iframe的src并加载该对象,然后获取该对象的title元素。我尝试使用iframe.contentDocument,但出现了跨域安全错误。

如消息所述,由于安全原因,您无法访问另一个域的内容(如此)。对于您的用例来说,解决这个问题的一种方法是使用ajax加载
iframe
的站点,并从响应中读取标题。 由于title标记不是文档(=正文)的一部分,因此无法使用
$('title',dom)
dom.find('title')
获取它。但是您可以像下面的示例中那样检索它

    <!DOCTYPE html>
    <html>
        <head>
            <title></title>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
            <style type="text/css">
            </style>
            <script type="text/javascript">
            $(function(){
                var url = $('iframe').prop('src');
                $.get(url)
                    .done(function(html){
                        var dom = $(html);
                        var title = dom
                            .filter(function(i,d){ 
                                return d.tagName == 'TITLE'; 
                            })
                            .text();
                        $('h1 span').text(title);
                    })
                ;
            });
            </script>
        </head>
        <body>
            <h1>Title: <span></span></h1>
            <iframe src="http://www.golem.de" style="width: 800px; height: 600px;" />
        </body>
    </html>

$(函数(){
var url=$('iframe').prop('src');
$.get(url)
.done(函数(html){
var dom=$(html);
var title=dom
.filter(函数(i,d){
返回d.tagName==“TITLE”;
})
.text();
$('h1 span')。文本(标题);
})
;
});
标题:
试试这个