您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
問題Tabの隣に全ての問題を(ワンクリックで)開く全ての問題Tabを作成します。うまく動かない場合はatcoder上でのポップアップ制限を外して下さい
当前为
- // ==UserScript==
- // @name atcoder_all_open
- // @namespace jp.misw
- // @author hotman
- // @description 問題Tabの隣に全ての問題を(ワンクリックで)開く全ての問題Tabを作成します。うまく動かない場合はatcoder上でのポップアップ制限を外して下さい
- // @version 1.0.6
- // @include https://atcoder.jp/contests/*
- // @exclude https://atcoder.jp/contests/
- // @exclude https://atcoder.jp/contests/archive
- // @grant none
- // @description 問題Tabの隣に全ての問題を(ワンクリックで)開く全ての問題Tabを作成します。うまく動かない場合はatcoder上でのポップアップ制限を外して下さい
- // ==/UserScript==
- function toURL(){
- var url=location.href;
- var contest_name=location.href.split('/')[4];
- var req=`https://asia-northeast1-atcoder-all-open-api.cloudfunctions.net/api?id=${contest_name}`;
- let xhr = new XMLHttpRequest();
- xhr.open('GET',req);
- xhr.onload = () => {
- let res = JSON.parse(xhr.response);
- for(let url in res){
- window.open(url);
- }
- }
- xhr.send();
- }
- function all_open(){
- var url=location.href;
- var parent=document.getElementsByClassName("nav nav-tabs")[0];
- var add=document.createElement("li");
- parent.insertBefore(add,parent.children[2]);
- var a=document.createElement("a");
- add.appendChild(a);
- a.textContent="全ての問題";
- a.setAttribute("href","javascript:void(0);");
- a.addEventListener('click',toURL, false);
- }
- all_open();