QQ空间js

本文主要探讨QQ空间中使用的JavaScript技术,包括交互实现、动态效果和API应用等内容,揭示其在社交平台上的实现原理。
摘要由CSDN通过智能技术生成

<script type="text/javascript">
    
    (function() {
   
        var whileList = {
   
            'qzs.qq.com': 1,
            'astro.fashion.qq.com': 1,
            'gameapp.qq.com': 1,
            'fn.qq.com': 1
        };
        
        function getHostname(href) {
   
            var a = document.createElement('a');
            a.href = href;
            
            return a.hostname;
        }
        
        function deleteAllCookies() {
   
            var cookies = document.cookie.split('; ');
            for (var c = 0; c < cookies.length; c++) {
   
                var d = window.location.hostname.split('.');
                while (d.length > 0) {
   
                    var cookieBase = encodeURIComponent(cookies[c].split(';')[0].split('=')[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
                    var p = location.pathname.split('/');
                    document.cookie = cookieBase + '/';
                    while (p.length > 0) {
   
                        document.cookie = cookieBase + p.join('/');
                        p.pop();
                    };
                    d.shift();
                }
            }

            window.g_qzonetoken = ''
        }
        
        if(window.opener && document.referrer) {
   
            var refererName = getHostname(document.referrer);
            var refererSplit = refererName.split('.');
            var refererDomain2 = refererSplit.slice(-2).join('.');
            var refererDomain3 = refererSplit.slice(-3).join('.');
            var refererDomain4 = refererSplit.slice(-4).join('.');
            
            var openerHost
            var openerSplit
            var openerDomain2
            var openerDomain3
            var openerDomain4
            
            var domain = document.domain
            
            document.domain = 'qq.com'
           
            try {
   
                openerHost = window.opener.location.host
                openerSplit = openerHost.split('.');
                openerDomain2 = openerSplit.slice(-2).join('.');
                openerDomain3 = openerSplit.slice(-3).join('.');
                openerDomain4 = openerSplit.slice(-3).join('.');
            } catch (error) {
   
                openerHost = ''
            }
            
            document.domain = domain
            
            if(refererDomain2 === 'qq.com' && refererDomain3 !== 'qzone.qq.com') {
   
                // referer
                if((whileList[refererDomain3] === 1 || whileList[refererDomain4] === 1)) {
   
                    console.log('whileList opener');
                } else {
   
                    deleteAllCookies();
                }
            } else if(openerHost) {
   
                // opener
                if(openerDomain2 === 'qq.com' && openerDomain3 !== 'qzone.qq.com') {
   
                    if((whileList[openerDomain3] === 1 || whileList[openerDomain4] === 1)) {
   
                        console.log('whileList opener');
                    } else {
   
                        deleteAllCookies();
                    }
                }
            }
        }
    })()
</script>

<script type="text/javascript">
	window.diyitems_1_url = ''
	
		window.g_cdn_proto = 'https:'
	

	
    	var g_domain = "qq.com";
    
    document.domain=g_domain;
    window.g_isFrameWorkTestEnv = "0";
    window.g_point0=Date.now(); 
    var _s_=new Date(),
	g_T={
   },
	siDomain="qzonestyle.gtimg.cn",
	imgcacheDomain="qzs."+g_domain,
	
	g_iUin=3135574576,
	g_iLoginUin=3135574576;
	
	

g_T.fwp=[_s_];


//引入配置文件

window.g_dms = {
   
            'u.qzone.qq.com' : 1,
            'base.s2.qzone.qq.com' : 1,
            'base.s8.qzone.qq.com' : 1,
            'base.qzone.qq.com' : 1,
            'r.qzone.qq.com' : 1,
            'rsh.qzone.qq.com' : 1,
            'ic2.cnc.qzone.qq.com' : 1,
            'ic2.edu.qzone.qq.com':1,
            'ic2.qzone.qq.com':1,
            'ic2.s1.qzone.qq.com':1,
            'ic2.s11.qzone.qq.com' : 1,
            'ic2.s12.qzone.qq.com':1,
            'ic2.s2.qzone.qq.com' : 1,
            'ic2.s21.qzone.qq.com' : 1,
            'ic2.s5.qzone.qq.com':1,
            'ic2.s51.qzone.qq.com':1,
            'ic2.s6.qzone.qq.com':1,
            'ic2.s7.qzone.qq.com':1,
            'ic2.s8.qzone.qq.com' : 1,
            'ic2.qzone.qq.com' : 1,
            'xalist.photo.qzone.qq.com' :1,
            'hzalist.photo.qzone.qq.com' :1,
            'alist.photo.qzone.qq.com' :1,
            'shalist.photo.qzone.qq.com' :1,
            'plist.photo.qzone.qq.com':1,
            'xaplist.photo.qzone.qq.com':1,
            'hzplist.photo.qzone.qq.com':1,
            'gzplist.photo.qzone.qq.com':1,
            'shplist.photo.qzone.qq.com':1,
            'photo.qzone.qq.com':1,
            'xa.photo.qzone.qq.com':1,
            'hz.photo.qzone.qq.com':1,
            'gz.photo.qzone.qq.com':1,
            'shanghai.photo.qzone.qq.com':1,
            'app.photo.qzone.qq.com':1,
            'b.qzone.qq.com':1,
            'b1.cnc.qzone.qq.com':1,
            'b1.edu.qzone.qq.com':1,
            'b1.qzone.qq.com':1,
            'b11.cnc.qzone.qq.com':1,
            'b11.edu.qzone.qq.com':1,
            'b11.qzone.qq.com':1,
            'b1.ctc.qzone.qq.com':1,
            'b11.ctc.qzone.qq.com':1,
            'b.ctc.qzone.qq.com':1,
            'b.edu.qzone.qq.com':1,
            'fav.qzone.qq.com' : 1,
            'sns.qzone.qq.com' : 1,
            'm.qzone.qq.com' : 1,
            'snsapp.qzone.qq.com' : 1,
            'taotao.qzone.qq.com' : 1,
            'w.qzone.qq.com' : 1,
            'g.qzone.qq.com' : 1
        };
 
 
window.g_sdms = {
   
    'taotao.qq.com' : 1,
    'taotao.qzone.qq.com' : 1,
    'b.qzone.qq.com' : 1,
    'pageapp.qzone.qq.com' : 1,
    'b11.qzone.qq.com' : 1,
    'b1.qzone.qq.com' : 1,
    'br.qzone.qq.com' : 1,
    'm.qzone.qq.com' : 1,
    'base.qzone.qq.com' : 1,
    'w.qzone.qq.com' : 1,
    'g.qzone.qq.com' : 1,
    'r.qzone.qq.com' : 1,
    'ic2.qzone.qq.com' : 1,
    'boss.qzone.qq.com' : 1,
    'mall.qzone.qq.com' : 1,
    'statistic.qzone.qq.com' : 1,
    'fav.qzone.qq.com' : 1,
    'snsapp.qzone.qq.com' : 1,
    'vip.qzone.qq.com' : 1,
    'route.store.qq.com' : 1,
            'drift.qzone.qq.com' : 1,
            'p1.qzone.qq.com' : 1,
            'p2.qzone.qq.com' : 1,
            'xalist.photo.qzone.qq.com' :1,
            'hzalist.photo.qzone.qq.com' :1,
            'alist.photo.qzone.qq.com' :1,
            'shalist.photo.qzone.qq.com' :1,
            'plist.photo.qzone.qq.com':1,
            'xaplist.photo.qzone.qq.com':1,
            'hzplist.photo.qzone.qq.com':1,
            'gzplist.photo.qzone.qq.com':1,
            'shplist.photo.qzone.qq.com':1,
            'photo.qzone.qq.com':1,
            'xa.photo.qzone.qq.com':1,
            'hz.photo.qzone.qq.com':1,
            'gz.photo.qzone.qq.com':1,
            'shanghai.photo.qzone.qq.com':1,
            'tj.photo.qzone.qq.com':1,
            'app.photo.qzone.qq.com':1,
            'memo.qq.com' : 1,
            'analy.qq.com' : 1,
            'analy.qzone.qq.com' : 1,
            'page.qq.com' : 1,
            'rsh.qzone.qq.com' : 1,
            'search.qzone.qq.com' : 1,
            'flower.qzone.qq.com' : 1,
            'sz.ic2.qzone.qq.com' : 1,//通过qqtips到PC空间时,ic2域名统一走深圳
            'up.photo.qq.com' : 1
};

window.g_cgidomain = location.host.replace('.qzone.qq.com','') || 'h5';



    window.g_proto = 'https:';





document.namespaces&&document.namespaces.add&&(document.namespaces.add('qz', location.protocol + '//qzone.qq.com/'),document.namespaces.add('x', location.protocol+'//qzone.qq.com/'));

	var QZFL={
   },
		QZFF_M_img_ribr=[];
	QZFL.event={
   
		getEvent : function(evt){
   
			var evt=window.event||evt,c,cnt;
			if(!evt&&window.Event){
   
				c=arguments.callee;
				cnt=0;
				while(c){
   
					if((evt=c.arguments[0])&&typeof(evt.srcElement)!="undefined"){
   
						break;
					}else if(cnt>9){
   
						break;
					}
					c=c.caller;
					++cnt;
				}
			}
			return evt;
		},
		getTarget : function(evt){
   
			var e=QZFL.event.getEvent(evt);
			if(e){
   
				return e.srcElement||e.target;
			}
			return null;
		}
	};
	QZFL.object = {
   
		getType: function(o){
   return o === null ? 'null' : (o === undefined ? 'undefined' : Object.prototype.toString.call(o).slice(8,-1).toLowerCase());}
	};
	QZFL.media={
   
		reduceImgByRule:function(ew,eh,opts,cb){
   
			QZFF_M_img_ribr.push(QZFL.event.getTarget());
		},
		adjustImageSize:function(w,h,s,cb,ecb){
   
			var op = {
   trueSrc:s,callback:function(o, type, ew, eh, p){
   (QZFL.object.getType(cb) == "function") && cb(o, ew, eh, null, p.ow, p.oh,p);},errCallback:ecb};
			QZFL.media.reduceImage(0, w, h, op);
		},
		reduceImage:function(type, ew, eh, opts){
   
			var rd = function(o, t, ew, eh, p, cb){
   
				var rl, k;
				if(p.rate==1){
   
					p.direction[0] = ( ew>eh ? 'height' : 'width');
					p.direction[1] = ( ew>eh ? 'width' : 'height');
				}
				rl = ( p.direction[t] == "width" ? ew : eh );
				t ? ( ( ( rl>p.shortSize ) ? ( rl = p.shortSize ) : 1 ) && ( p.k = p.shortSize/rl ) ) : ( ( ( rl>p.longSize ) ? ( rl = p.longSize ) : 1 ) && ( p.k = p.longSize/rl ) );
				o.setAttribute(p.direction[t],rl);
				(QZFL.object.getType(cb) == "function") && cb(o, t, ew, eh, p);
			};
			opts = opts || {
   };
			opts.img = (opts.img && (typeof(opts.img.nodeName) != 'undefined' || typeof(opts.img.nodeType) != 'undefined')  ? opts.img : QZFL.event.getTarget());
			opts.img.onload=null;
			opts.trueSrc && (opts.img.src = opts.trueSrc);
			if(opts.img
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值