您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
拉勾自定义标记
- // ==UserScript==
- // @name lagouhelper
- // @namespace http://tampermonkey.net/
- // @version 1.0.1
- // @description 拉勾自定义标记
- // @author hujun
- // @match https://www.lagou.com/*
- // @grant none
- // @require http://code.jquery.com/jquery-1.11.0.min.js
- // ==/UserScript==
- this.$ = this.jQuery = jQuery.noConflict(true);
- var companySelector='div[class^="company-name"]';
- var pageSelector='li[class^="lg-pagination-"]';
- var cookieHelper={
- getCookie:function(c_name)
- {
- if (document.cookie.length>0)
- {
- var c_start=document.cookie.indexOf(c_name + "=");
- if (c_start!=-1)
- {
- c_start=c_start + c_name.length+1;
- var c_end=document.cookie.indexOf(";",c_start);
- if (c_end==-1) c_end=document.cookie.length;
- return unescape(document.cookie.substring(c_start,c_end));
- }
- }
- return "";
- },
- setCookie:function(c_name,value,expiredays)
- {
- var exdate=new Date();
- exdate.setDate(exdate.getDate()+expiredays);
- document.cookie=c_name+ "=" +escape(value)+
- ((expiredays===null) ? "" : ";expires="+exdate.toGMTString());
- }
- };
- var markHelper={
- markJsonObject:cookieHelper.getCookie('lagouhelperusermark')?JSON.parse(cookieHelper.getCookie('lagouhelperusermark')):{},
- getMark:function(company){
- var remarkDict=markHelper.markJsonObject;
- if(remarkDict[company]){
- return {
- Company:company,
- Remark:remarkDict[company]
- };
- }
- for(var item in remarkDict){
- if(company.indexOf(item)!=-1){
- return {
- Company:item,
- Remark:remarkDict[item]
- };
- }
- }
- return null;
- },
- removeMark:function(oldCompany){
- if(oldCompany){
- delete markHelper.markJsonObject[oldCompany];
- }
- //保存到cookie
- cookieHelper.setCookie('lagouhelperusermark',JSON.stringify(markHelper.markJsonObject),365*10);
- },
- saveMark:function(oldCompany,newCompany,remark){
- if(oldCompany){
- delete markHelper.markJsonObject[oldCompany];
- }
- markHelper.markJsonObject[newCompany]=remark;
- //保存到cookie
- cookieHelper.setCookie('lagouhelperusermark',JSON.stringify(markHelper.markJsonObject),365*10);
- }
- };
- /*
- * 检查公司名称是否被标记
- */
- function checkCompany(){
- $(companySelector).each(function(){
- // var company=$(this).find('a').text();
- // //console.log('company:'+company);
- // $(this).append('<i><img src="https://resource.iphonexsr.com/images/Note.png" width="24" alt="标记" title="标记" class="lagouhelper_mark" style="cursor:pointer;"/></i>');
- // var mark=markHelper.getMark(company);
- // if(mark){
- // $(this).append('<i class="lagouhelper_remark"><font color="red">'+mark.Remark+'</font></i>');
- // }
- //console.log($(this).parent().parent().parent().find('.logouhelper_div').length);
- if($(this).parent().parent().parent().find('.logouhelper_div').length==0){
- addRemarkHtml($(this));
- }
- });
- setTimeout(function(){
- checkCompany();
- },3000);
- }
- /*
- * 刷新备注
- */
- function refreshRemark(){
- $(companySelector).each(function(){
- // var company=$(this).find('a').text();
- // var mark=markHelper.getMark(company);
- // $(this).find('.lagouhelper_remark').remove();
- // if(mark){
- // $(this).append('<i class="lagouhelper_remark"><font color="red">'+mark.Remark+'</font></i>');
- // }
- $(this).parent().parent().parent().find('.logouhelper_div').remove();
- addRemarkHtml($(this));
- });
- }
- //添加备注html
- function addRemarkHtml($company){
- var company=$company.find('a').text();
- //console.log('company:'+company);
- var html='';
- html+='<div class="logouhelper_div" style="margin-left: 500px;">';
- html+='<i><img src="https://resource.iphonexsr.com/images/Note.png" data-company="'+company+'" width="24" alt="标记" title="标记" class="lagouhelper_mark" style="cursor:pointer;"/></i>';
- var mark=markHelper.getMark(company);
- if(mark){
- html+='<i class="lagouhelper_remark"><font style="color:red">'+mark.Remark+'</font></i>';
- }
- html+='</div>';
- $company.parent().parent().after(html);
- }
- $(function(){
- //checkCompany();
- var wait=3000;
- setTimeout(function(){
- checkCompany();
- },wait);
- //点击“标记”图标弹出编辑框
- $(document).on('click','.lagouhelper_mark',function(event){
- //var $company_name=$(this).closest('.company_name');
- //var $company_name=$(this).parent().parent();
- var lagoucompany=$(this).attr('data-company');
- var mark=markHelper.getMark(lagoucompany);
- 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;">'
- +'<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)
- +'" data-oldcompany="'+(mark?mark.Company:'')+'"/></div>'
- +'<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>'
- +'<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;"/>'
- +'<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>';
- $('body').append(popupHtml);
- })
- //保存备注
- .on('click','.lagouhelper_btn_save',function(){
- var $lagouhelperPopupEdit=$('#lagouhelper_popup_edit');
- var oldCompany=$lagouhelperPopupEdit.find('.lagouhelper_company').attr('data-oldcompany');
- var newCompany=$lagouhelperPopupEdit.find('.lagouhelper_company').val().trim();
- var remark=$lagouhelperPopupEdit.find('.lagouhelper_remark').val().trim();
- //检查输入是否规范
- if(!newCompany){
- alert('公司关键词不能为空或空格');
- return;
- }
- if(!remark){
- markHelper.removeMark(oldCompany);
- markHelper.removeMark(newCompany);
- }
- else{
- markHelper.saveMark(oldCompany,newCompany,remark);
- }
- $('#lagouhelper_popup_edit').remove();
- refreshRemark();
- })
- .on('click','.lagouhelper_btn_cancel',function(){
- $('#lagouhelper_popup_edit').remove();
- })
- .on('click',pageSelector,function(){
- setTimeout(function(){
- checkCompany();
- },wait);
- });
- });