MP-Ukagaka伪春菜插件扩展:在对话框用iframe显示链接

MP-Ukagaka伪春菜插件写了个Javascript扩展:在对话框用Iframe显示链接。 调用方法: displayLinkInBox(对象,显示方式) 如:displayLinkInBox(this,'full'); 显示方式有两种:full即充满对话框,否则替换链接a标签。 使用方法: 在链接里加入onclick事件,如在kaito的对话框里输入gtalk在线聊天,不同的gmail有不同的代码,情猛击gtalk在线聊天来获取,下面是我的代码:
<a class="talkWithMe" href="http://www.google.com/talk/service/badge/Start?tk=z01q6amlq5qqv3ga62h9cbr72aimsdoc9ri4fg1fbegln9921ni5n3edek4epfq6d2vecak0nasfv56kqhkufel0ccj9vm4osibs2d833jh1h1mlpmr8mv8hbd88s7c6bar19mb9qbq9fbl0" onclick="displayLinkInBox(this,'full')"><img height="9" width="9" style="padding:0 2px 0 0;margin:0;border:none" src="http://www.google.com/talk/service/badge/Show?tk=z01q6amlq5qqv3ga62h9cbr72aimsdoc9ri4fg1fbegln9921ni5n3edek4epfq6d2vecak0nasfv56kqhkufel0ccj9vm4osibs2d833jh1h1mlpmr8mv8hbd88s7c6bar19mb9qbq9fbl0&w=9&h=9" alt="">和Defims聊聊~</a>
或者直接使用javascript显示iframe,如: 在MP-Ukagaka伪春菜插件的扩展设置里输入以下函数:
function displayLinkInBox(linkDom,style){
if(typeof($)!= 'function' || typeof $().jquery != 'string'){/*----------Include JQuery--------------*/
    var oScript = document.createElement( "script" );
    oScript.type = "text/javascript"; 
    oScript.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"; 
    var head=document.getElementsByTagName('HEAD').item(0);
}
(function($){

var linkUrl=$(linkDom).attr('href');
$(linkDom).removeAttr('href').css('cursor','pointer');
var content ="<div id='linkBox'>";
content +="<div id='closeLinkBox' style='position:relative;top:0;right:0;margin:0 0 0 auto;border:0;padding:0;width:1em;height:1em;background:grey;z-index:1;line-height:1em;text-align:center;cursor:pointer''>×</div>";
content +="<div style='top:0;margin:0 auto -1em;width:100%;height:1em;text-align:center;verflow:hidden;'>loading......</div>";
content +="<iframe id='boxIframe' src='"+linkUrl+"' style='display:block;position:static;top:0;left:0;margin:0;border:0;padding:0;width:100%;height:170px;z-index:-1;'></iframe>";
content +="</div>"

if(style=='full'){
    $("#ukagaka_msg").children().wrapAll("<div id='originContent' style='display:none;'></div>");
    $("#ukagaka_msg").append(content);
    $('#closeLinkBox').click(function(){
        $('#linkBox').fadeOut('normal',function(){
            $(this).remove();
            $(linkDom).attr('href',linkUrl);
            $('#originContent').fadeIn();
        });
    });
}else{
    $(linkDom).fadeOut().after(content);
    $('#closeLinkBox').click(function(){
        $('#linkBox').fadeOut('normal',function(){
            $(this).remove();
            $(linkDom).attr('href',linkUrl);
            $(linkDom).fadeIn();
        });
    });
}

$("iframe#boxIframe").load(function(){
//alert($(this).contents().find('embed'));想解决iframe中flash遮挡了div的问题,但涉及跨域。暂时解决不了。
//alert($(this).contents().find('body').html());
});

})(jQuery);
return false;
}
posted @ 2010-12-20 19:36  Defims  阅读(566)  评论(0编辑  收藏  举报