Coursera ERT
@@ -1,13 +1,18 @@
/*
- * @title Courseraの所要時間
- * @description 所要時間(宿題は除く)をalertします
+ * @title Coursera ERT
+ * @description show Estimated Reading Time on Coursera
* @include https://www.coursera.org/learn/machine-learning/home/week/*
- * @license MIT License
- * @require
+ * @contributor hitode909 http://let.hatelabo.jp/hitode909/let/hJmc5Jbys6YJ (Fork of)
+ * @license MIT License http://opensource.org/licenses/MIT
+ * @javascript_url
*/
+// - avoid mixed-content blocking w/ @javascript_url; c.f.
+// http://let.hatelabo.jp/help#at-javascript_url
+// https://gist.github.com/noromanba/7015739
+// - avoid ref-error when reduce
-// CourseraはHTTPSなので動かなかった!
-alert('total ' + Array.prototype.slice.apply(document.querySelectorAll('.text-hint')).map(function(node) { return +(node.textContent.match(/(\d+) min/)||[null, 0])[1]}).reduce(function(a,b){ return a+b}) + ' min');
-
+alert('total ' + (Array.from(document.querySelectorAll('.text-hint'), node => {
+ return +(node.textContent.match(/(\d+)\s+min/) || [])[1] || 0;
+}).reduce((a, b) => a + b, 0) || '-') + ' min');
/*
* @title Coursera ERT
* @description show Estimated Reading Time on Coursera
* @include https://www.coursera.org/learn/machine-learning/home/week/*
* @contributor hitode909 http://let.hatelabo.jp/hitode909/let/hJmc5Jbys6YJ (Fork of)
* @license MIT License http://opensource.org/licenses/MIT
* @javascript_url
*/
// - avoid mixed-content blocking w/ @javascript_url; c.f.
// http://let.hatelabo.jp/help#at-javascript_url
// https://gist.github.com/noromanba/7015739
// - avoid ref-error when reduce
alert('total ' + (Array.from(document.querySelectorAll('.text-hint'), node => {
return +(node.textContent.match(/(\d+)\s+min/) || [])[1] || 0;
}).reduce((a, b) => a + b, 0) || '-') + ' min');
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。