aboutsummaryrefslogtreecommitdiffstats
path: root/youtube/static
diff options
context:
space:
mode:
authorzrose584 <57181548+zrose584@users.noreply.github.com>2020-10-07 19:03:22 +0200
committerzrose584 <57181548+zrose584@users.noreply.github.com>2020-10-07 20:32:57 +0200
commitdebc11931fe1102f17852fd082d0dac50d477ce9 (patch)
treea0d13036eaf138e3dbfa94942b305fd8534d5361 /youtube/static
parent9123d9a6cfa2af511b17591541ab2e67aa83475f (diff)
downloadyt-local-debc11931fe1102f17852fd082d0dac50d477ce9.tar.lz
yt-local-debc11931fe1102f17852fd082d0dac50d477ce9.tar.xz
yt-local-debc11931fe1102f17852fd082d0dac50d477ce9.zip
add comments.js
Diffstat (limited to 'youtube/static')
-rw-r--r--youtube/static/js/comments.js20
-rw-r--r--youtube/static/js/common.js12
2 files changed, 31 insertions, 1 deletions
diff --git a/youtube/static/js/comments.js b/youtube/static/js/comments.js
new file mode 100644
index 0000000..845ed3e
--- /dev/null
+++ b/youtube/static/js/comments.js
@@ -0,0 +1,20 @@
+function onClickReplies(e) {
+ var details = e.target.parentElement;
+ // e.preventDefault();
+ console.log("loading replies ..");
+ doXhr(details.getAttribute("src") + "&slim=1", (html) => {
+ var div = details.querySelector(".comment_page");
+ div.innerHTML = html;
+ });
+ details.removeEventListener('click', onClickReplies);
+}
+
+window.addEventListener('DOMContentLoaded', function() {
+ QA("details.replies").forEach(details => {
+ details.addEventListener('click', onClickReplies);
+ details.addEventListener('auxclick', (e) => {
+ if (e.target.parentElement !== details) return;
+ if (e.button == 1) window.open(details.getAttribute("src"));
+ });
+ });
+}); \ No newline at end of file
diff --git a/youtube/static/js/common.js b/youtube/static/js/common.js
index 687c6fa..40bc132 100644
--- a/youtube/static/js/common.js
+++ b/youtube/static/js/common.js
@@ -1,4 +1,5 @@
Q = document.querySelector.bind(document);
+QA = document.querySelectorAll.bind(document);
function text(msg) { return document.createTextNode(msg); }
function clearNode(node) { while (node.firstChild) node.removeChild(node.firstChild); }
function toTimestamp(seconds) {
@@ -36,6 +37,15 @@ function getDefaultTranscriptTrackIdx() {
return textTracks.length - 1;
}
+function doXhr(url, callback=null) {
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", url);
+ xhr.onload = (e) => {callback(e.currentTarget.response)};
+ xhr.send();
+ return xhr;
+}
+
+
window.addEventListener('DOMContentLoaded', function() {
cur_track_idx = getDefaultTranscriptTrackIdx();
-});
+}); \ No newline at end of file