lagouhelper

拉勾自定义标记

目前為 2018-04-15 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name lagouhelper
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1.1
  5. // @description 拉勾自定义标记
  6. // @author hujun
  7. // @match https://www.lagou.com/*
  8. // @grant none
  9. // @require http://code.jquery.com/jquery-1.11.0.min.js
  10. // ==/UserScript==
  11.  
  12. this.$ = this.jQuery = jQuery.noConflict(true);
  13.  
  14. var cookieHelper={
  15. getCookie:function(c_name)
  16. {
  17. if (document.cookie.length>0)
  18. {
  19. var c_start=document.cookie.indexOf(c_name + "=");
  20. if (c_start!=-1)
  21. {
  22. c_start=c_start + c_name.length+1;
  23. c_end=document.cookie.indexOf(";",c_start);
  24. if (c_end==-1) c_end=document.cookie.length;
  25. return unescape(document.cookie.substring(c_start,c_end));
  26. }
  27. }
  28. return "";
  29. },
  30. setCookie:function(c_name,value,expiredays)
  31. {
  32. var exdate=new Date();
  33. exdate.setDate(exdate.getDate()+expiredays);
  34. document.cookie=c_name+ "=" +escape(value)+
  35. ((expiredays===null) ? "" : ";expires="+exdate.toGMTString());
  36. }
  37. };
  38.  
  39.  
  40. var markHelper={
  41. markJsonObject:cookieHelper.getCookie('lagouhelperusermark')?JSON.parse(cookieHelper.getCookie('lagouhelperusermark')):{},
  42. getMark:function(company){
  43. var remarkDict=markHelper.markJsonObject;
  44. if(remarkDict[company]){
  45. return {
  46. Company:company,
  47. Remark:remarkDict[company]
  48. };
  49. }
  50. for(var item in remarkDict){
  51. if(company.indexOf(item)!=-1){
  52. return {
  53. Company:item,
  54. Remark:remarkDict[item]
  55. };
  56. }
  57. }
  58. return null;
  59. },
  60. removeMark:function(oldCompany){
  61. if(oldCompany){
  62. delete markHelper.markJsonObject[oldCompany];
  63. }
  64. //保存到cookie
  65. cookieHelper.setCookie('lagouhelperusermark',JSON.stringify(markHelper.markJsonObject),365*10);
  66. },
  67. saveMark:function(oldCompany,newCompany,remark){
  68. if(oldCompany){
  69. delete markHelper.markJsonObject[oldCompany];
  70. }
  71. markHelper.markJsonObject[newCompany]=remark;
  72. //保存到cookie
  73. cookieHelper.setCookie('lagouhelperusermark',JSON.stringify(markHelper.markJsonObject),365*10);
  74. }
  75. };
  76.  
  77. /*
  78. * 检查公司名称是否被标记
  79. */
  80. function checkCompany(){
  81. $('.company_name').each(function(){
  82. var company=$(this).find('a').text();
  83. $(this).append('<i><img src="https://www.easyicon.net/api/resizeApi.php?id=1198227&size=24" width="24" alt="标记" title="标记" class="lagouhelper_mark" style="cursor:pointer;"/></i>');
  84. var mark=markHelper.getMark(company);
  85. if(mark){
  86. $(this).append('<i class="lagouhelper_remark"><font color="red">'+mark.Remark+'</font></i>');
  87. }
  88. });
  89. }
  90.  
  91.  
  92. /*
  93. * 刷新备注
  94. */
  95. function refreshRemark(){
  96. $('.company_name').each(function(){
  97. var company=$(this).find('a').text();
  98. var mark=markHelper.getMark(company);
  99. $(this).find('.lagouhelper_remark').remove();
  100. if(mark){
  101. $(this).append('<i class="lagouhelper_remark"><font color="red">'+mark.Remark+'</font></i>');
  102. }
  103. });
  104. }
  105.  
  106.  
  107. $(function(){
  108. checkCompany();
  109. //点击“标记”图标弹出编辑框
  110. $(document).on('click','.lagouhelper_mark',function(){
  111. var $company_name=$(this).closest('.company_name');
  112. var lagoucompany=$company_name.find('a').text();
  113. var mark=markHelper.getMark(lagoucompany);
  114. var popupHtml='<div id="lagouhelper_popup_edit" style="width:400px;height:200px;background-color:white;z-index:9999;position:fixed;top:40%;left:40%;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none;text-align:center;font-size:16px;">'
  115. +'<div style="margin-top:50px;"><label>公司关键词:</label><input class="lagouhelper_company" type="text" style="width:250px;height:30px;font-size:16px;" value="'+(mark?mark.Company:lagoucompany)
  116. +'" data-oldcompany="'+(mark?mark.Company:'')+'"/></div>'
  117. +'<div style="margin:10px 0 0 48px;"><label>备注:</label><input class="lagouhelper_remark" type="text" style="width:250px;height:30px;font-size:16px;" value="'+(mark?mark.Remark:'')+'"/></div>'
  118. +'<div style="margin-top:10px;"><input type="button" value="保存" class="lagouhelper_btn_save" style="background-color:#00b38a;color:#fff;width:60px;height:35px;margin:0 5px;font-size:16px;"/>'
  119. +'<input type="button" value="取消" class="lagouhelper_btn_cancel" style="background-color:#00b38a;color:#fff;width:60px;height:35px;margin:0 5px;font-size:16px;"/></div></div>';
  120. $('body').append(popupHtml);
  121. })
  122. .on('click','.lagouhelper_btn_save',function(){
  123. var $lagouhelperPopupEdit=$('#lagouhelper_popup_edit');
  124. var oldCompany=$lagouhelperPopupEdit.find('.lagouhelper_company').attr('data-oldcompany');
  125. var newCompany=$lagouhelperPopupEdit.find('.lagouhelper_company').val().trim();
  126. var remark=$lagouhelperPopupEdit.find('.lagouhelper_remark').val().trim();
  127. //检查输入是否规范
  128. if(!newCompany){
  129. alert('公司关键词不能为空或空格');
  130. return;
  131. }
  132. if(!remark){
  133. markHelper.removeMark(oldCompany);
  134. markHelper.removeMark(newCompany);
  135. }
  136. else{
  137. markHelper.saveMark(oldCompany,newCompany,remark);
  138. }
  139. $('#lagouhelper_popup_edit').remove();
  140. refreshRemark();
  141. })
  142. .on('click','.lagouhelper_btn_cancel',function(){
  143. $('#lagouhelper_popup_edit').remove();
  144. })
  145. .on('click','.pager_container span',function(){
  146. setTimeout(function(){
  147. checkCompany();
  148. },1000);
  149. });
  150. });

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址