jquery弹出窗-用油猴制作一个Jenkins日志窗口

2023-08-26 0 485 百度已收录

本文简单记录一下明天和油猴一起提高生活质量的剧本。

先描述一下我要解决的问题:

我们线上的很多操作通常都是通过Jenkins来进行,任务需要在大型机器上运行。 有时,这些任务需要很长时间才能运行。 我一般都会关注这种自动化,一般也会做其他的工作。 我希望日志仍然出现在屏幕上,但不会干扰我的其他工作。

解决办法是,我在Jenkins页面添加了一个按钮,通过这个按钮可以打开一个最小化的窗口,效果如下:

这是一个新添加的按钮,点击这里,会弹出一个日志窗口

弹出的日志窗口位于左上角。 没有菜单栏,没有书签栏,也没有扩展。 基本上所有的空间都用来显示日志了。

做这个操作的时候,实时日志还在滚动jquery弹出窗,所以心里比较踏实。

源码如下:

// ==UserScript==
// @name Jenkins Minimized Log
// @namespace lxt
// @version 0.1
// @description Display jenkins log in a minimized window
// @author laixintaoo@gmail.com
// @include https://jenkins.*console*
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js

// @run-at document-end
// ==/UserScript==

(function ({
  "use strict";

  let url = new URL(window.location.href);

  if (url.searchParams.get("view_window") === "minimized") {
    minimized()
  }

  url.searchParams.append("view_window""minimized");

  $(`<a href="${url}" class="open-in-minimal-window">Minimized log window`).insertAfter(
    "a[name='skip2content']"
  );

  document.addEventListener("click", navigateTo, false);

  function navigateTo(event{
    if (event.target.matches("a.open-in-minimal-window")) {
      window.open(
        event.target.href,
        "_blank",
        "menubar=no,toolbar=no,directories=no,resizable=yes,dependent,width=800,height=1000,left=0,top=0"
      );
      event.preventDefault();
    }

    return false;
  }

  var progress_bar = $(".build-caption-progress-container");
  progress_bar.appendTo("#spinner");

  function minimized({
    console.log("should using minized window!");
    $("#side-panel").remove();
    $(".page-footer").remove();
  }
})();

直接粘贴到你的油猴身上就可以使用了。

核心逻辑是,如果当前页面是Jenkins的原始URL(Params没有view_window=minimized)jquery弹出窗,则在页面上插入一个链接,目标是当前URL+参数view_window=minimized。 通过代码,设置关闭菜单栏、工具栏,并设置打开此URL时的窗口大小、位置等。 打开一个基本上仅记录日志的窗口,始终放置在屏幕后面。 您可以使用Mac上的矩形软件将此窗口固定在顶部。

从这个窗口打开链接(按住Cmd),或者使用普通的Chrome窗口打开它,非常方便。

Rectangle是一款免费的Mac窗口管理软件,可以帮助用户快速调整和管理窗口的位置和大小。 它允许您轻松地将窗口拖动到屏幕上的任意位置,并通过快捷键调整窗口的大小和位置。

如果检测到URL中有参数view_window=minimized,则删除页面中的侧边栏、页脚栏等,以便所有空间用于显示日志。

运行过程中最需要的按钮就是停止按钮,但是Jenkins默认把这个按钮放在页面的最前面,这样你就可以在顶部看到滚动日志。 如果需要停下来,就得拖到页面底部才能找到按钮,太慢了。 我使用 JQuery 将其放在日志滚动下方。

本来想做一个Jenkins插件直接改公司的Jenkins,但是看了Jenkins发布插件后发现还是蛮复杂的,而且还要写一些Java和XML,可能需要一两天的时间。 于是直接用油猴实现了,花了半个小时。

来源:

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 jquery jquery弹出窗-用油猴制作一个Jenkins日志窗口 https://www.wkzy.net/game/161144.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务