木子屋 Dnawo's BLOG

悟空网盟手机发送专用链脚本

👤 dnawo 📅 2008-10-30 👁 5880 👍 0 💬 0 🔄 来源:本站原创
//e.g.:
//var UnionUid = "10009";
//var UnionAppend = true;
//var UnionDownPath = "download.asp";
//var UnionImagePath = "/upload/";
//var UnionLinkPos = false;
//var UnionHTMLInsert = " | ";
//var UnionTitle = "爱在西元前";
//var UnionLinkStyle = "<font color=red>[$title]发送到手机</font>";
//var UnionLinkOpen = "url";
//Union5k3g();

function Union5k3g(){
	var unionUid = typeof(UnionUid)!="undefined" ? UnionUid : "0";	//联盟ID
	var unionAppend = typeof(UnionAppend)!="undefined" ? UnionAppend : true;	//true 部分代码化,false 全部代码化
	var unionDownPath = typeof(UnionDownPath)!="undefined" ? UnionDownPath : "";	//下载链接特征字符串
	var unionImagePath = typeof(UnionImagePath)!="undefined" ? UnionImagePath : "http://"; //预览图地址特征字符串
	var unionLinkPos = typeof(UnionLinkPos)!="undefined" ? UnionLinkPos : false; //手机发送链接放置位置。true 实际链接前,false 实际链接后。
	var unionHTMLInsert = typeof(UnionHTMLInsert)!="undefined" ? UnionHTMLInsert : " | "; //手机发送链接和实际链接间分隔符
	var unionTitle = typeof(UnionTitle)!="undefined" ? UnionTitle : "MMS"; //资源名称
	var unionLinkStyle = (typeof(UnionLinkStyle)!="undefined" ? UnionLinkStyle : "").replace("[$title]",unionTitle); //手机发送链接文字样式
	var unionLinkOpen = typeof(UnionLinkOpen)!="undefined" ? UnionLinkOpen : "url"; //打开链接方式。url 链接方式,open window.open方式
	
	if(unionUid=="0" || unionUid.length!=5)
	{
		alert("联盟ID格式不正确!");
		return;
	}
	
	function GetImgUrl(){
		if(unionImagePath.toLowerCase().indexOf("http://")>=0 || !UnionDownPath)return unionImagePath.toLowerCase();
		for(var i=0;i<document.images.length;i++)
		{
			if(document.images[i].src.toLowerCase().indexOf(unionImagePath)>=0)
			{
				return document.images[i].src.toLowerCase();
			}
		}
	}
	
	var arrLinks = [];
	for(var i=0;i<document.links.length;i++)arrLinks.push(document.links[i]);
	for(var i=0;i<arrLinks.length;i++)
	{
		var currentLink = arrLinks[i];
		var currentLinkHref = currentLink.href.toLowerCase();
		//Bug: FF跳行
		//if(/\.jar|\.jad|\.sis|\.sisx|\.txt|\.rar|\.zip/ig.exec(currentLinkHref) != null || (unionDownPath && currentLinkHref.indexOf(unionDownPath.toLowerCase()) >= 0))
		if(currentLinkHref.match(/\.jar|\.jad|\.sis|\.sisx|\.txt|\.rar|\.zip/ig) || (unionDownPath && currentLinkHref.indexOf(unionDownPath.toLowerCase()) >= 0))
		{
			//创建链接对象
			var newLink = document.createElement("a");
			if(unionLinkStyle == "")newLink.innerHTML = currentLink.innerHTML;
			else newLink.innerHTML = unionLinkStyle;
			var unionURL = "http://code.5k3g.com/tl/picDIY/Sendgame.aspx?uid={0}&title={1}&fileurl={2}&imgurl={3}";
			unionURL = unionURL.replace("{0}",unionUid).replace("{1}",escape(unionTitle)).replace("{2}",escape(currentLinkHref)).replace("{3}",escape(GetImgUrl()));
			if(unionLinkOpen=="url")
			{
				newLink.href = unionURL;
				newLink.target = "_blank";
			}
			else
			{
				newLink.href = "#";
				//Bug: 所有弹出窗口unionURL一样
				//newLink.onclick = function(){window.open(unionURL,"","width=556,height=393");void(0);}
				eval("newLink.onclick = function(){window.open(\"" + unionURL + "\",\"\",\"width=556,height=393\");return false;}");
			}
			//创建文本对象
			//Bug: html失效
			//var textNode = document.createTextNode(unionHTMLInsert);
			var textNode = document.createElement("span");
			textNode.innerHTML = unionHTMLInsert;
			
			//显示链接
			if(unionAppend)
			{
				if(unionLinkPos)
				{
					//Bug: 参数无效。
					//document.body.insertBefore(newLink,currentLink);
					//document.body.insertBefore(textNode,currentLink);
					currentLink.parentNode.insertBefore(newLink,currentLink);
					currentLink.parentNode.insertBefore(textNode,currentLink);
				}
				else
				{
					//document.body.insertBefore(newLink,currentLink.nextSibling);
					//document.body.insertBefore(textNode,currentLink.nextSibling);
					currentLink.parentNode.insertBefore(newLink,currentLink.nextSibling);
					currentLink.parentNode.insertBefore(textNode,currentLink.nextSibling);
				}
			}
			else
			{
				//document.body.replaceChild(newLink,currentLink);
				currentLink.parentNode.replaceChild(newLink,currentLink);
			}
		}
	}
}

IE(6.0)、FF(2.0)、Opera(9.27)下测试通过。

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 js处理页面上符合某一特征的所有链接 下一篇 → 带图片信息提示的内容框