使用jQuery从子窗口加载window.opener中的图像

时间:2011-12-02 23:45:36

标签: jquery image load refresh

我试图在打开的窗口中设置window.opener中的图像,如下所示:

$(document).ready(function(){
    $('a').click(function (event){
        event.preventDefault();
        var linkID =$(this).attr("id");         
        var imgSrcVal = $('img', this).attr("src");

        window.opener.document.getElementById("id_1").src=imgSrcVal;
     });
});
在父窗口中的

我有img标签,如下所示:

<tr>
    <td style="height:250px;">
        <img src=""   width="110" height="250px" id="id_1"/>
    </td>
</tr>

是否可以设置并显示而无需刷新?如果没有,我怎么能用ajax方式呢?

1 个答案:

答案 0 :(得分:1)

确保开启者的域和当前窗口相同(Same Origin Policy)。如果这是真的,那么开启者和当前widnow的路径可能不一样。尝试制作图像Url绝对...

$(document).ready(function(){
    $('a').click(function (event){
        event.preventDefault();
        var linkID =$(this).attr("id");         
        var imgSrcVal = $('img', this).attr("src");

        if (location.href.indexOf("/") != 0) {
            var base = location.href.replace(/(.+)(\/)(.*)/, "$1");
            imgSrcVal = base + "/" + imgSrcVal;
        }

        window.opener.document.getElementById("id_1").src = imgSrcVal;
     });
});