您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
让学在浙大首页的链接总是在新标签页中打开
当前为
- // ==UserScript==
- // @name Course ZJU Open in New Tab
- // @namespace https://www.cc98.org/user/name/ml98
- // @description Make the links in courses.zju.edu.cn always open in new tab
- // @description:zh-CN 让学在浙大首页的链接总是在新标签页中打开
- // @version 0.0.1
- // @author ml98
- // @license MIT
- // @match https://courses.zju.edu.cn/user/index
- // ==/UserScript==
- /* eslint-disable no-undef */
- (function() {
- 'use strict';
- setInterval(()=>{
- // links
- $('a[ng-href]:not(.__visited_f3641d)').addClass('__visited_f3641d')
- .off('click').attr('target', '_blank');
- // todos
- $('a[ng-click^="openActivity"]:not(.__visited_f3641d)').addClass('__visited_f3641d')
- .off('click').on('click', (e)=>{
- let payload = $(e.target).scope().activity;
- window.open($(e.target).scope().activity.url, '_blank')
- });
- // activities
- $('a[ng-click^="linkToActivity"]:not(.__visited_f3641d)').addClass('__visited_f3641d')
- .off('click').on('click', e=>{
- let payload = $(e.target).scope().n.payload;
- window.open('/course/' + payload.course_id + '/learning-activity#/' + payload.activity_id, '_blank');
- });
- // uploads
- $('.notification-attachment-uploads:not(.__visited_f3641d)').addClass('__visited_f3641d')
- .off('click').on('click', async e=>{
- let n = $(e.target).scope().n;
- if (['web_link', 'slide', 'lesson', 'online_video'].indexOf(n.payload.activity_type) == -1
- && n.payload.uploads.length != 0) {
- let uploads = n.payload.uploads;
- let resp = await Promise.all(uploads.map(upload=>fetch('/api/uploads/reference/document/'
- + upload.reference_id + '/url?preview=true')));
- let json = await Promise.all(resp.map(res=>res.json()));
- let files = json.map((j,i)=>`<a href="${j.url}">${uploads[i].file_name}</a>`).join('<br>');
- window.open('', '_blank').document.body.outerHTML = files;
- }
- })
- }, 3000);
- })();