IceSandwich

超星浏览页面自动放大

超星浏览页面太小了

字数统计: 504阅读时长: 1 min
2020/07/10 Share

需求

这比例实在太小了,非常难看,所以着手使用油猴脚本改掉。

分析

通过开发者工具,了解布局。

首先发现一个mainCon的元素限制了宽度,但是去掉宽度限制后页面内容并没有放大,因此还需要往下探究。

往里面看,发现一个wrap也限制了宽度,将宽度去掉和增加宽度都不会使得内容放大。我们注意到,下面还有个iframe呢,因此还需要往里面看。

我们发现iframe也有限制宽度,同时限制了高度,将宽度设置为100%,高度设置为800px,可以发现内容放大了,宽度解决了,但是ppt显示的高度范围没有改变,滚动条还是不对,因此还需要往里面看。

我们发现,iframe里一个imglook元素限制了高度,把高度设置为100%就行了。至此我们的分析完毕,结果出来了。

虽然页面放大了不少,但是上面的这个横杆有点碍眼,通过观察,发现这个横杆是header部分,把它删掉即可。

由于删掉横杆,ppt大小又不匹配窗口大小了,把上面改的width和height值改一下,结果如下:

这样清爽多了。

代码

新建一个油猴脚本,根据上面分析的内容写入脚本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// ==UserScript==
// @name 超星放大
// @version 1
// @grant none
// @match *://mooc1-1.chaoxing.com/coursedata/toPreview*
// @require https://mooc1-1.chaoxing.com/js/common/jquery.min.js
// @run-at document-end
// ==/UserScript==

(function () {
var height = "900px";

$(".header").remove()
$(".wrap").width("100%")
$(".mainCon").width("1200px")

var frame = $("iframe");
frame.width("100%");
frame.height(height);
frame.load(function() {
frame.contents().find(".imglook").height(height);
});
console.log("done");

})();

其中需要讲几点:

  1. @require里的地址是从网页源代码里面找来的,目的是在油猴里使用jQuery。
  2. (function () { … })(); 这个就是jq的documentReady事件,需要在页面加载完后调用代码。
  3. 由于imglook元素是在frame里的,所以我们先获取iframe,再改imglook的属性。
CATALOG
  1. 1. 需求
  2. 2. 分析
  3. 3. 代码