如何从Colorbox本身加载的内容中设置Colorbox标题?

时间:2012-06-27 09:09:22

标签: jquery colorbox title

让我解释一下。我使用Colorbox加载HTML文件并将其显示在iframe中。 HTML文件包含<title>标记。是否可以使用<title>标记作为Colorbox弹出窗口的标题?我可以使用onComplete事件,但是如何?

编辑:我应该澄清一下代码:

父HTML:

<!doctype html>
<html>
    <head>
        <title>This is parent</title>
        <script src="jquery.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('a.cb').colorbox({
                    iframe : true,
                    title  : function() { /* here goes the code */ },
                });
            });
        </script>
    </head>
    <body>
        <a class="cb" href="popup.html">Popup</a>
    </body>
</html>

儿童HTML:

<!doctype html>
<html>
    <head>
        <title>The title</title>
    </head>
<body>
    ...
</body>
</html>

基本上我希望Colorbox显示子HTML代码中的标题。

3 个答案:

答案 0 :(得分:5)

根据文件的不同,可能无法进行。如果iframed文档与父文档位于同一个域中,您应该能够执行以下操作:

$(document).ready(function(){
    $('a.cb').colorbox({
        iframe : true,
        fastIframe: false,
        onComplete: function(){
            var title = $('.cboxIframe')[0].contentWindow.document.title;
            $('#cboxTitle').text(title);
        }
    });
});

答案 1 :(得分:1)

很难说,但我的猜测会像

var titleText = $(fetchedHTML).find('title').text();

答案 2 :(得分:-1)

我不确定我是否理解你的问题,如果我离主题很远,请告诉我删除我的帖子:)

您可以通过函数设置颜色框标题,在该函数中您可以获取iframe标题并将其设置为颜色框标题

$("mycolorbox").colorbox({rel: 'gal', title: function(){
    var title = $( "#frame_id").contents( ).find( "title").html( );
    return 'title';
}});

我不确定代码是否完全正确,但可能有所帮助:)