zoukankan      html  css  js  c++  java
  • JavaScript导出csv文件,并使用油猴在网页中插入按钮

    参考链接

    // 导出数据模块
     function data_to_csv(data, name) {
                const blob = new Blob(data, {type: 'text/csv,charset=UTF-8'});
                const uri = URL.createObjectURL(blob);
                let downloadLink = document.createElement('a');
                downloadLink.href = uri;
                downloadLink.download = (name+".csv")||"temp.csv";
                document.body.appendChild(downloadLink);
                downloadLink.click();
                document.body.removeChild(downloadLink);}
    //保存数据,注意换行格式
     var data_list=Array();
     data_list.push(["标题","链接","
    "]);
     data_list.push(["数据","http://*****","
    "]);
     data_to_csv(data_list, "fileName.csv");

     

    使用油猴脚本在网页中插入按键

    // ==UserScript==
    // @name test
    // @namespace AceScript Scripts
    // @match https://www.baidu.com/
    // @grant none
    // ==/UserScript==
    
    (function () {
        'use strict';
        console.log('我的脚本加载了');
        var button = document.createElement("button"); //创建一个input对象(提示框按钮)
        button.id = "id001";
        button.textContent = "百度二下";
        button.style.width = "60px";
        button.style.height = "20px";
        button.style.align = "center";
    
        //绑定按键点击功能
        button.onclick = function (){
            console.log('点击了按键');
            //为所欲为 功能实现处
            alert("你好");
            return;
        };
      
        var x = document.getElementsByClassName('btn_wr s_btn_wr bg')[0];
        //在浏览器控制台可以查看所有函数,ctrl+shift+I 调出控制台,在Console窗口进行实验测试
        x.appendChild(button);
        
        //var y = document.getElementById('s_btn_wr');
        //y.appendChild(button);
    })();

     等待网页加载完成再执行油猴脚本【已解决】

     1 // ==UserScript==
     2 // @run-at document-end
     3 // @name         等待网页加载完成再执行油猴脚本
     4 // @namespace    waitForKeyElements
     5 // @version      0.1
     6 // @description  try to take over the world!
     7 // @author       You
     8 // @match        http://mobile.yangkeduo.com/search_result.html?search_key*
     9 // @grant        unsafeWindow
    10 // @require  https://code.jquery.com/jquery-3.6.0.min.js
    11 // @require https://greasyfork.org/scripts/31940-waitforkeyelements/code/waitForKeyElements.js?version=209282 
    12 
    13 // ==/UserScript==
    14 
    15 waitForKeyElements ('[class="pdd-go-to-app"]', addbut);
    16 function addbut() {
    17     'use strict';
    18     console.log('我的脚本加载了');
    19     var button = document.createElement("button"); //创建一个input对象(提示框按钮)
    20     button.id = "id001";
    21     button.textContent = "百度二下";
    22     button.style.width = "60px";
    23     button.style.height = "40px";
    24     button.style.align = "center";
    25 
    26     //绑定按键点击功能
    27     button.onclick = function (){
    28         console.log('点击了按键');
    29         //为所欲为 功能实现处
    30         alert("你好");
    31         return;
    32     };
    33 
    34     var x = document.querySelector('[class="pdd-go-to-app"]');
    35     //在浏览器控制台可以查看所有函数,ctrl+shift+I 调出控制台,在Console窗口进行实验测试
    36     x.appendChild(button);
    37 
    38     //var y = document.getElementById('s_btn_wr');
    39     //y.appendChild(button);
    40 };

    问题解决是根据这篇文章:https://www.thinbug.com/q/12897446获得解决方案

    引用的js来自  #引用:https://greasyfork.org/zh-CN/scripts/31940-waitforkeyelements/code

    关键点在于:10,11,15,16行做了更改

    waitForKeyElements ("YOUR_jQUERY_SELECTOR", actionFunction);
    

      

    var data_list=Array();data_list.push(["标题","链接"," "])

  • 相关阅读:
    对数据库进行增删改查操作
    Chromium网页Graphics Layer Tree创建过程分析
    苹果产品设计中鲜为人知的10个细节
    翻翻git之---自己定义邮件发送buttonSendButton(流程分析,实现思路能够学习下)
    pascal+sublime搭建Pascal学习环境
    我们的一个已投产项目的高可用数据库实战
    开源 免费 java CMS
    上海居住证续签流程须知
    【LeetCode OJ 232】Implement Queue using Stacks
    Android学习笔记之:android更新ui的几种经常用法
  • 原文地址:https://www.cnblogs.com/zhangdingqu/p/14442465.html
Copyright © 2011-2022 走看看