【油猴脚本】00018 案例 Tampermonkey油猴脚本, 仅用于学习,不要乱搞。继续优化UI界面,Jquery爬虫,JavaScript爬虫,HTML Css JavaScript编写

23,845次阅读
没有评论

共计 7188 个字符,预计需要花费 18 分钟才能阅读完成。

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎 收藏 + 关注 哦 💕

【油猴脚本】00018 案例 Tampermonkey 油猴脚本,仅用于学习,不要乱搞。继续优化 UI 界面,Jquery 爬虫,JavaScript 爬虫,HTML Css JavaScript 编写
【油猴脚本】00018 案例 Tampermonkey 油猴脚本,仅用于学习,不要乱搞。继续优化 UI 界面,Jquery 爬虫,JavaScript 爬虫,HTML Css JavaScript 编写

目录

  • 【油猴脚本】00018 案例 Tampermonkey 油猴脚本,仅用于学习,不要乱搞。继续优化 UI 界面,Jquery 爬虫,JavaScript 爬虫,HTML+Css+JavaScript 编写 解决:1. 点击 input 元素外的文字时,input 元素不能聚焦,2. 解决 bootstrap3.3.4 里 panel 面板中是 form-group 时,最后一个去掉底部间距,3. 按钮风格统一
  • 使用的库:
    • Bootstrap 的 Css 库 CDN:
    • Jquery 库 CDN:
    • Jquery 的库 easyuijs CDN:
  • 📚一、解决的效果
  • 📚二、核心解析
    • 💡1. 面板底部距离太宽:
    • 💡2. 点击文字不能聚焦:
    • 💡3. 按钮颜色统一化:
  • 📚三、完整源代码,可以直接复制学习使用
  • 📚四、使用此代码的方法:

📚💡📝🗂️✍️🛠️💻🚀🎉🏗️🌐🖼️🔗📊👉🔖⚠️🌟🔐⬇️·正文开始⬇️·🎥😊🎓📩😺🌈🤝🤖📜📖📋🔍✅🧰❓📄📢📈 🙋1️⃣2️⃣3️⃣

【油猴脚本】00018 案例 Tampermonkey 油猴脚本,仅用于学习,不要乱搞。继续优化 UI 界面,Jquery 爬虫,JavaScript 爬虫,HTML+Css+JavaScript 编写 解决:1. 点击 input 元素外的文字时,input 元素不能聚焦,2. 解决 bootstrap3.3.4 里 panel 面板中是 form-group 时,最后一个去掉底部间距,3. 按钮风格统一

使用的库:

Bootstrap 的 Css 库 CDN:

https://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css

Jquery 库 CDN:

 https://code.jquery.com/jquery-1.9.1.min.js

Jquery 的库 easyuijs CDN:

https://www.jeasyui.com/easyui/jquery.easyui.min.js

📚一、解决的效果

1. 面板底部距离太宽

【油猴脚本】00018 案例 Tampermonkey 油猴脚本,仅用于学习,不要乱搞。继续优化 UI 界面,Jquery 爬虫,JavaScript 爬虫,HTML Css JavaScript 编写

  1. 点击文字不能聚焦

【油猴脚本】00018 案例 Tampermonkey 油猴脚本,仅用于学习,不要乱搞。继续优化 UI 界面,Jquery 爬虫,JavaScript 爬虫,HTML Css JavaScript 编写

,3. 按钮颜色统一化

【油猴脚本】00018 案例 Tampermonkey 油猴脚本,仅用于学习,不要乱搞。继续优化 UI 界面,Jquery 爬虫,JavaScript 爬虫,HTML Css JavaScript 编写


📚二、核心解析

💡1. 面板底部距离太宽:

添加 css

 .form-group:last-child{margin-bottom:0;}

💡2. 点击文字不能聚焦:

1. 第一种方法:文字元素需要在 元素内,且 label 的 for 的值要和 input 元素的 id 值一致
2. 第二种方法:文字元素和 input 元素要同时被 元素包裹

 span class="input-group-addon">label  style="margin-bottom:0;" for="startPageIdx1">开始页label>span>
                        input type="text" id="startPageIdx1" name="startPageIdx1" class="form-control input-line" placeholder="基础 url 地址">

💡3. 按钮颜色统一化:

.btn-primary {
    color: #fff;
    background-color:  #E95C8A;
    border-color:  #E95C8A;
   }
   .btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary {
    color: #fff;
    background-color: #c7275b;
    border-color: #c7275b;
   }

📚三、完整源代码,可以直接复制学习使用

✍️JavaScript


















(function () {
  'use strict';

  let tableHtml = `
    
操作区
配置多页参数区
`
let cssMore = ` .table-card{ position:fixed; left:100px; top:150px; z-index:100; background:#fff; box-shadow: 0px 0px 0 10px #E95C8A; } .modal-body{ max-height:500px; overflow-y: scroll; } .msgWrap{ padding:10px; margin-top:10px; } .msgContent{ background:#000; max-height:100px; overflow-y:scroll; } .loadMsg{ color:#fff; width: fit-content; font-size: 16px; font-family: monospace; clip-path: inset(0 3ch 0 0); animation: loadMsgAni 1s steps(4) infinite; } @keyframes loadMsgAni {to{clip-path: inset(0 -1ch 0 0)}} table thead, tbody tr { display: table; width: 100%; table-layout: fixed; } .table-card tbody{display:block;height:200px; overflow:auto; -webkit-overflow-scrolling: touch;} .table-card tbody::-webkit-scrollbar {display: none; // 隐藏滚动条} .form-group:last-child{margin-bottom:0;} .btn-primary { color: #fff; background-color: #E95C8A; border-color: #E95C8A; } .btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { color: #fff; background-color: #c7275b; border-color: #c7275b; } ` let bsCss = GM_getResourceText('bootstrapCss') let startPageNum = 2 let endPageNum = 4 let isOrderNumber = true GM_addStyle(bsCss) GM_addStyle(cssMore) $('body').append(tableHtml) $('.table-card').draggable({ handle: '#draggableArea' }) const initCols = (strArr)=>{ let addTableHtml = '' if(isOrderNumber){ addTableHtml = `序号` }else{ addTableHtml = `` } for (const x of strArr) { addTableHtml += `${x}`; } addTableHtml += ``; if(isOrderNumber){ addTableHtml += `1` }else{ addTableHtml += '' } for (const y of strArr) { addTableHtml += `默认无值`; } addTableHtml += `` return addTableHtml } let tableColsArr = ['公司名称','招聘职位','薪资'] let cssSelectorArr = [] cssSelectorArr.push('.job-card-wrapper .job-card-right .company-name a') cssSelectorArr.push('.job-card-wrapper .job-card-left .job-title .job-name') cssSelectorArr.push('.job-card-wrapper .job-card-left .salary') let initColHtml = initCols(tableColsArr) $('#test_table').html(initColHtml); let editTableCols = ` ` const colsRender = (optionStr,dataOptionStr,idxOption)=>{ if(!dataOptionStr){ dataOptionStr = '无参数,请填写参数,参数是 css 选择器' } let str = `
${idxOption}
${idxOption}"class="form-control"value="${optionStr}">
${idxOption}"class="form-control"value="${dataOptionStr}">
`
return str; } const colsMoreRender = (strArrOpt)=>{ let str = '' for(const x in strArrOpt){ if(cssSelectorArr.length>0){ let idxNum = parseInt(x)+1 str += colsRender(strArrOpt[x],cssSelectorArr[x],idxNum) }else{ str += colsRender(strArrOpt[x]) } } return str; } let colsMoreStr = colsMoreRender(tableColsArr) $('body').append(editTableCols); $('#editTableColsModal .modal-body').html(colsMoreStr) const getFormData = ()=>{ let strArr = [] $('#editTableColsModal .modal-body .form-group input').each(function(idx,eleItm){ let formName = ''; let cssName = '' let $eleItem = $(eleItm); if(idx%2===0){ formName = $eleItem.val(); strArr.push(formName) }else{ cssName = $eleItem.val() cssSelectorArr.push(cssName) } }) return strArr; } $("#editCols").click(function(){ $('#editTableColsModal').show() }) $(".colseBtn").click(function(){ $('#editTableColsModal').hide() }) $("#btn_submit").click(function(){ $('#editTableColsModal').hide() let renderColHtml = initCols(getFormData()) $('#test_table').html(renderColHtml); }) $(".modal-body").on('click','.delCol',function(){ if($('#editTableColsModal .panel').length === 1){ alert('至少保留一个列') return false; } $(this).parents('.panel').remove(); }) $('#btn_addCol').on('click',function(){ let panelLength = $('#editTableColsModal .panel').length; let currentPanelNum = panelLength + 1; $('.modal-body').append(colsRender('新列请重新命名',null,currentPanelNum)) }) $('#run').click(function(){ getData() }) let dataRange = {} $('#getDataRange').click(function(){ $('#dataRangeForm input').each(function(idx,item){ dataRange[item.name] = item.value.replace(/s+/g, '') }) let startPageIdx = dataRange.startPageIdx1 + dataRange.startPageIdx2 +dataRange.startPageIdx3 let endPageIdx = dataRange.endPageIdx1 + dataRange.endPageIdx2 +dataRange.endPageIdx3 startPageNum = parseInt(dataRange.startPageIdx2) endPageNum = parseInt(dataRange.endPageIdx2) run() }) let strHtml = '
'
let cssStyle = ` #testHtml{ width:100px; background:blue; } ` GM_addStyle(cssStyle) $('body').append(strHtml) function getHtml(num){ msg(`正在获取第 ${num}`) let requestUrl = dataRange.startPageIdx1 + num +dataRange.startPageIdx3 $.ajax({ url: requestUrl, timeout: 30000, success: function(html){ $('#testHtml').append(html) msg(`${num} 页加载完成`) if(num === endPageNum){ getData() } }, error:function(er){ console.log('er',er) }, complete:function(co){ console.log('co',co) } }); } function run(){ msg('开始获取') setInterval(function(){ if(startPageNum>endPageNum){ return false; } getHtml(startPageNum) startPageNum++ },10000) } function getData(){ msg('正在获取全部数据') let eleTotalColArr = [] cssSelectorArr.forEach(function(item,idx){ let eleByColArr = [] $(item).each(function(idex,ite) { eleByColArr.push($(ite).text()) }) eleTotalColArr.push(eleByColArr) }) let trs = '' let totalLIneNum = eleTotalColArr[0].length; let fieldNum = eleTotalColArr.length; for (let i=0;itotalLIneNum;i++){ let tds = '' if(isOrderNumber){ tds = `${i+1}` } for(let i2 = 0;i2fieldNum;i2++){ tds += `${eleTotalColArr[i2][i]}` } trs += `${tds}` } $('.table-card tbody').html(trs); msg(`全部数据获取完成, 共计获取 ${totalLIneNum}`) } function msg(msgStr){ let msgHtml = `
${msgStr}•••
`
let $msgContent = $('.msgWrap .msgContent'); $msgContent.append(msgHtml).scrollTop($msgContent.prop('scrollHeight')) } })();

📚四、使用此代码的方法:

1. 浏览器打开 https://developer.mozilla.org/zh-CN/
2. 把代码复制进油猴脚本,打开运行开关,刷新页面

  • 安装教程:👉 https://blog.csdn.net/qq_33650655/article/details/142097760
  • 使用教程:👉 https://blog.csdn.net/qq_33650655/article/details/142183047

到此这篇文章就介绍到这了, 更多精彩内容请关注本人以前的文章或继续浏览下面的文章,创作不易,如果能帮助到大家, 希望大家多多支持宝码香车~💕,若转载本文,一定注明本文链接。


【油猴脚本】00018 案例 Tampermonkey 油猴脚本,仅用于学习,不要乱搞。继续优化 UI 界面,Jquery 爬虫,JavaScript 爬虫,HTML Css JavaScript 编写

更多专栏订阅推荐:
👍 html+css+js 绚丽效果
💕 vue
✈️ Electron
⭐️ js
📝 字符串
✍️ 时间对象(Date())操作

原文地址: 【油猴脚本】00018 案例 Tampermonkey 油猴脚本,仅用于学习,不要乱搞。继续优化 UI 界面,Jquery 爬虫,JavaScript 爬虫,HTML Css JavaScript 编写

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-10-07发表,共计7188字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)