addto.js
上传用户:z100004
上传日期:2020-03-27
资源大小:1084k
文件大小:7k
源码类别:

TAPI编程

开发平台:

Visual Basic

  1. function social() { this.txtVersion = "1.2";
  2. this.addtoInterval = null;
  3. this.popupWin = '';
  4. this.addtoMethod=1;
  5. this.AddTitle=null;
  6. this.AddURL=null;
  7. this.Horizontal=false;
  8. this.Showname=false;
  9. this.ObjectTypeId=0;
  10. this.ObjectId=0;
  11. this.PlaceholderId='';
  12. this.sns=[
  13.  {name:'Digg', image: 'AddTo_Digg.png', url: 'http://digg.com/submit?', urlVar: 'url', titleVar: '', noteVar: '', returnVar: '', otherVars: '&phase=2' },
  14.  {name:'Del.icio.us', image: 'AddTo_Delicious.png', url: 'http://del.icio.us/post?', urlVar: 'url', titleVar: 'title', noteVar: '', returnVar: '', otherVars: '' },
  15.  {name:'Google', image: 'AddTo_Google.png', url: 'http://www.google.com/bookmarks/mark?', urlVar: 'bkmk', titleVar: 'title', noteVar: '', returnVar: '', otherVars: '&op=edit' },
  16.  {name:'Windows Live', image: 'AddTo_Live.png', url: 'https://favorites.live.com/quickadd.aspx?', urlVar: 'url', titleVar: 'title', noteVar: '', returnVar: '', otherVars: '&marklet=1&mkt=en-us&top=1' },
  17.  //{name:'Yahoo! MyWeb', image: 'AddTo_Yahoo.png', url: 'http://myweb2.search.yahoo.com/myresults/bookmarklet?', urlVar: 'u', titleVar: 't', noteVar: '', returnVar: '', otherVars: '&d=&ei=UTF-8' },
  18.  {name:'Technorati', image: 'AddTo_Technorati.png', url: 'http://technorati.com/faves?', urlVar: 'add', titleVar: '', noteVar: '', returnVar: '', otherVars: '' },
  19.  {name:'Blink', image: 'AddTo_Blink.png', url: 'http://www.blinklist.com/index.php?', urlVar: 'url', titleVar: 'title', noteVar: 'description', returnVar: '', otherVars: '&Action=Blink/addblink.php' },
  20.  {name:'Facebook', image: 'AddTo_Facebook.png', url: 'http://www.facebook.com/sharer.php?', urlVar: 'u', titleVar: 't', noteVar: '', returnVar: '', otherVars: '' },
  21.  {name:'Furl', image: 'AddTo_Furl.png', url: 'http://www.furl.net/storeIt.jsp?', urlVar: 'u', titleVar: 't', noteVar: '', returnVar: '', otherVars: '' },
  22.  {name:'Simpy', image: 'AddTo_Simpy.png', url: 'http://simpy.com/simpy/LinkAdd.do?', urlVar: 'href', titleVar: 'title', noteVar: 'note', returnVar: '_doneURI', otherVars: '&v=6&src=bookmarklet' },
  23.  {name:'Reddit', image: 'AddTo_Reddit.png', url: 'http://reddit.com/submit?', urlVar: 'url', titleVar: 'title', noteVar: '', returnVar: '', otherVars: '' },
  24.  {name:'Newsvine', image: 'AddTo_Newsvine.png', url: 'http://www.newsvine.com/_wine/save?', urlVar: 'u', titleVar: '', noteVar: '', returnVar: '', otherVars: '&popoff=0' },
  25.  {name:'Stumbleupon', image: 'AddTo_stumbleupon.png', url: 'http://www.stumbleupon.com/submit?', urlVar: 'url', titleVar: 'title', noteVar: '', returnVar: '', otherVars: '' },
  26.  {name:'Mr. Wong', image: 'AddTo_MrWong.png', url: 'http://www.mister-wong.com/index.php?',urlVar: 'bm_url', titleVar: 'bm_description', noteVar: '', returnVar: '', otherVars: '&action=addurl' },
  27.  {name:'Send as Email', image: 'envelope.gif', url: '/script/common/TellFriend.aspx?obtid={0}&obid={1}&',urlVar: '', titleVar: '', noteVar: '', returnVar: '', otherVars: '' }
  28. ];
  29.  this.DrawLink = function(varName, index, cellClass)
  30.  {
  31.   var prompt = (index == (this.sns.length - 1)) ? '' : 'Add this page to ';
  32.   var text = "<a class="" + cellClass + "" title="" + prompt + this.sns[index].name +
  33.   "" onclick="return " + varName + ".addto(" + index.toString() + ");" " +
  34. "href="#"><img align="absmiddle" src="/images/" + this.sns[index].image +
  35. "" width="16px" height="16px" border="0" /> ";
  36.   if (this.Showname) text += this.sns[index].name;
  37.   return text + "</a> ";
  38.  };
  39. this.setupLinks = function (varName, href, title, cols, width, headClass, cellClass) 
  40. {
  41. var text = "";
  42. this.AddTitle = title;
  43. this.AddURL = href;
  44. if (cols > this.sns.length) {
  45. if (this.Horizontal)text += "<span class="" + headClass + "">Add this article to: </span> ";
  46. for (var i = 0; i < this.sns.length; i++) {
  47. if (!this.Horizontal) text+="<div>";
  48. text+=this.DrawLink(varName, i, cellClass)
  49. text+= (this.Horizontal?" ":"</div>");
  50. }
  51. } else {
  52. text+="<table width="" + width.toString() + "" border="0" cellspacing="0" " +
  53.   "cellpadding="0"><tr><tr><td colspan="" + cols.toString() + "" class="" + 
  54.   headClass + "" height="20">Add this article to:</td></tr>n";
  55. for (var i = 0; i < this.sns.length; i++) {
  56. text+="<td valign="middle">";
  57. text+=this.DrawLink(varName, i, cellClass);
  58. text+="</td>";
  59. if ( (((i+1)%cols) == 0) && (i != (this.sns.length-1))) text+="</tr><tr>";
  60. }
  61. text+="</td></tr></table>";
  62. }
  63. $("#ATD")[0].innerHTML = text; 
  64. };
  65. this.addtoWin = function(addtoFullURL)
  66. {
  67. if (!this.popupWin.closed && this.popupWin.location){
  68. this.popupWin.location.href = addtoFullURL;
  69. //this.addtoInterval = setInterval("this.closeAddTo();",1000);
  70. }
  71. else{
  72. this.popupWin = window.open(addtoFullURL,'addtoPopUp','width=770px,height=500px,menubar=1,toolbar=1,status=1,location=1,resizable=1,scrollbars=1,left=0,top=100');
  73. //this.addtoInterval = setInterval("this.closeAddTo();",1000);
  74. if (!this.popupWin.opener) this.popupWin.opener = self;
  75. }
  76. if (window.focus) {this.popupWin.focus()}
  77. return false;
  78. };
  79. // closes the popupWin
  80. this.closeAddTo = function() {
  81. if (!this.popupWin.closed && this.popupWin.location){
  82. if (this.popupWin.location.href == this.AddURL) //if it's the same url as what was bookmarked, close the win
  83. this.popupWin.close();
  84. }
  85. else { //if it's closed - clear the timer
  86. clearInterval(this.addtoInterval)
  87. return true
  88. }
  89. };
  90. this.addto = function(index){
  91. if (!this.AddURL) this.AddURL = document.location.href;
  92. if (!this.AddTitle) this.AddTitle = escape(document.title);
  93. var url = this.sns[index].url.replace("{0}", this.ObjectTypeId.toString());
  94. url = url.replace("{1}", this.ObjectId.toString());
  95. var addtoFullURL = url + this.sns[index].urlVar + "=" + this.AddURL + 
  96. "&" + this.sns[index].titleVar + "=" + this.AddTitle + this.sns[index].otherVars;
  97. if (this.sns[index].noteVar != "") 
  98. addtoFullURL = addtoFullURL + "&" + this.sns[index].noteVar + "=" + this.AddTitle;
  99. if (this.sns[index].returnVar != "")
  100. addtoFullURL = addtoFullURL + "&" + this.sns[index].returnVar + "=" + this.AddURL;
  101. switch(this.addtoMethod){
  102. case 0: // 0=direct link
  103. self.location = addtoFullURL
  104. break
  105. case 1: // 1=popup
  106. this.addtoWin(addtoFullURL);
  107. break
  108. default:
  109. }
  110. return false;
  111. };
  112. this.setupMenu = function() {
  113. var over = false;
  114. $(document).ready(function(){
  115. var e=$("#SBI"), m=$("#ATD");
  116. var pos = document.all?$(e).position():$(e).offset();
  117. var eWidth = $(e).outerWidth();
  118. var mWidth = $(m).outerWidth();
  119. var eHeight = $(e).outerHeight();
  120. var left = (pos.left + (eWidth - mWidth)/2) + "px";
  121. var top = eHeight+pos.top + "px";
  122. $(m).css({ left: left, top: top });
  123. $(e).hover(
  124. function() { $(m).stop(true, true).fadeIn('fast'); }, 
  125. function() { setTimeout( function() { if (!over) $("#ATD").fadeOut('fast');}, 200); }
  126. );
  127. $(m).hover( function() { over=true;}, function() { over=false; $(m).fadeOut('fast');} );
  128. });
  129. }
  130. }
  131. // checking across domains causes errors - this is to suppress these
  132. //function handleError() {return true;}
  133. //window.onerror = handleError;