Greasy Fork 还支持 简体中文。

Spark Standalone Master App Proxy Fix

Fix links to Spark jobs descriptions and nav bar in Spark Standalone Master when spark.ui.reverseProxy=true.

  1. // ==UserScript==
  2. // @name Spark Standalone Master App Proxy Fix
  3. // @name:zh-CN Spark Standalone Master 反向代理链接修复
  4. // @namespace https://rabit.pw/
  5. // @version 0.2
  6. // @description Fix links to Spark jobs descriptions and nav bar in Spark Standalone Master when spark.ui.reverseProxy=true.
  7. // @description:zh-CN 修复Spark Standalone模式中,启用了`spark.ui.reverseProxy=true`之后,在任务详情页面,任意链接点击后跳转回首页的问题。
  8. // @author ttimasdf
  9. // @match http://*/proxy/*
  10. // @grant none
  11. // @run-at document-end
  12. // ==/UserScript==
  13.  
  14. // ref: https://stackoverflow.com/a/17599814/1043209
  15. (function() {
  16. 'use strict';
  17.  
  18. var imgs = document.getElementsByTagName("img");//"/static/spark-logo-77x50px-hd.png"
  19.  
  20. // Check whether this is Spark Master page
  21. for (var i = 0, found = false; i < imgs.length && i < 3; i++) {
  22. if (imgs[i].getAttribute("src") == "/static/spark-logo-77x50px-hd.png") {
  23. found = true;
  24. }
  25. }
  26. if (!found) return;
  27.  
  28. // Extract links
  29. var links = Array.from(document.links);
  30. links.push.apply(links, document.getElementsByTagName("a"));
  31. // get link to current page and extract http://xxxx/proxy/app-xxxx part
  32. var root = /^.*proxy\/[^\/]*/.exec(window.location.href)[0];
  33. // console.log(links);
  34.  
  35. var i;
  36. for (i = 0; i < links.length; i++ ) {
  37. var link = links[i].getAttribute('href');
  38. if (/^\/(?!proxy).+/.test(link)) {
  39. console.log(link, "=>", root + link);
  40. links[i].setAttribute("href", root + link);
  41. }
  42. }
  43. })();