Greasy Fork 还支持 简体中文。

Volafile Mark Read

Adds a line to Volafile chat showing the line last read

As of 2020-05-28. See the latest version.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

نووسەر
Arnold François Lecherche
Ratings
0 0 0
وەشان
1.04
Created
2020-05-16
Updated
2020-05-28
Size
4.41 KB
مۆڵەت
نییە
Applies to

This allows you to see where you were in the chat history of a Volafile room, and it also sets the maximum chat history to 1000 lines if it's already lower.

Alternatively, you can make this a bookmarklet; just bookmark this very page, change the bookmark's title to "Volafile Mark Read", and change its URL to this:

javascript:(function(w%2Cd%2Cb%2Cg%2Cm%2Cq%2Cc)%7B%27use%20strict%27%3Bvar%20pr%3D%5Bw.prog0%7C%7Cd.createElement(%27div%27)%2Cw.prog1%7C%7Cd.createElement(%27div%27)%5D%2Cmenu%3Dw.menu%7C%7Cd.createElement(%27div%27)%2Cf%3Dd.querySelector(%27%23files_header_row%27)%2Cu%3Dd.getElementById(%27dolos_cuckmenu%27)%2Cn%3D%5B%27chat_message%27%2C%27filelist_file%27%5D%2Cp%3D%2F%5E(%3F%3AMOTD%7CNews%7CSystem%7CScript)%2Fi%2Ci%3Dpr.length%2Cs%2Ck%3Bfunction%20killnews(m)%7Bvar%20msg%3Dq%5Bm%5D%2Ci%3Dmsg.length%3Bwhile(i--)%7Bif(msg%5Bi%5D.options.staff%26%26p.test(msg%5Bi%5D.nick))%7Bif(msg%5Bi%5D.elem.parentNode)msg%5Bi%5D.elem.parentNode.removeChild(msg%5Bi%5D.elem)%3Bmsg.splice(i%2C1)%7D%7D%7Dfunction%20reloadMarker(e)%7Bvar%20key%3De.key%7C%7Ce.charCode%7C%7Ce.keyCode%2Ck%3Bif(!key)return%3Bif(key%3D%3D%3D%27Escape%27%7C%7Ckey%3D%3D%3D%27Esc%27%7C%7Ckey%3D%3D%3D27)%7Bif(g.chat_max_history%3C1000)g.chat_max_history%3D1000%3Bm.appendChild(w.prog0)%3Bw.file_list.insertBefore(w.prog1%2Cw.file_list.querySelector(%27%23file_list%20.filelist_file%3Anot(.file_uploading)%3Anot(.file_queued)%27))%3Bkillnews(%27messages%27)%3Bd.querySelector(%27.icon-arrow-down%27).style.display%3D%27none%27%3Bk%3Dd.querySelector(%27%23kill_flist%27)%3Bif(k)k.click()%7D%7Dfunction%20refreshConfig()%7Bvar%20pin%3Dd.querySelector(%27.ui_frame_table%20%5Bname%3D%22password%22%5D%27)%2Cb%2Ci%3Bif(g.chat_max_history%3C1000)g.chat_max_history%3D1000%3Bif(pin)%7Bb%3Dd.querySelectorAll(%27.ui_frame_buttons%20.button%3Anot(.light)%27)%3Bi%3Db.length%3Bwhile(i--)b%5Bi%5D.click()%7Dkillnews(%27queued_messages%27)%7Dfunction%20flist(e)%7Bvar%20f%3Dd.querySelectorAll(%27%23file_list%20.filelist_file%3Anot(%5Bid%5D)%3Anot(%5Bstyle%5D)%3Anot(.file_queued)%3Anot(.file_uploading)%27)%2Cv%3Db.appendChild(d.createElement(%27div%27))%2Ci%3Df.length%2Ct%3D%27%27%2Cinf%3Bwhile(i--)%7Binf%3D%27%23____%27%2Bf%5Bi%5D.querySelector(%27a%20.file_tag%27).innerText%2B%27_%27%2Bf%5Bi%5D.querySelector(%27.file_right_part%27).childNodes%5B0%5D.data.replace(%27%20%27%2C%27%27)%3Bt%2B%3Df%5Bi%5D.querySelector(%27a%5Bhref%5D%27).href%2Binf%2B%27%5Cn%27%7Dv.innerHTML%2B%3D%27%3Cdiv%20id%3D%22flist_list%22%20style%3D%22position%3Aabsolute%3Btop%3A0%3Bleft%3A0%3Bbackground%3A%2388f%22%3E%3Ca%20id%3D%22kill_flist%22%20href%3D%22%23%22%20onclick%3D%22this.parentNode.parentNode.removeChild(this.parentNode)%22%3E%5B%E2%AE%BD%20CLOSE%5D%3C%2Fa%3E%20%26bull%3B%20%3Ca%20href%3D%22%23%22%20onclick%3D%22window.text.value%3Dwindow.text.value.replace(%2F%5C%5Cn%24%2F%2C%5B%5D).split(%5C%27%5C%5Cn%5C%27).reverse().join(%5C%27%5C%5Cn%5C%27)%2B%5C%27%5C%5Cn%5C%27%22%3E%5B%E2%87%B5%20reverse%5D%3C%2Fa%3E%3Ctextarea%20id%3D%22text%22%20spellcheck%3D%22false%22%20style%3D%22width%3A80em%3Bheight%3A30em%3Bmargin%3A1em%3Bresize%3Aboth%3Bdisplay%3Ablock%22%3E%27%2Bt%2B%27%3C%2Ftextarea%3E%3C%2Fdiv%3E%27%3Be.preventDefault()%3Breturn%20false%7Dfunction%20unCuck()%7Bu%3Dd.getElementById(%27dolos_cuckmenu%27)%3Bif(u)%7Bu.style.fontSize%3D%2775%25%27%3Bif(k)w.clearInterval(k)%7D%7Dmenu.id%3D%27menu%27%3Bmenu.style.display%3D%27inline-block%27%3Bmenu.innerHTML%3D%27%3Ca%20href%3D%22%23%22%20style%3D%22border-right%3A1px%20solid%20%23597895%3Bpadding%3A0%201em%3Bfont-size%3A10px%22%3EFile%20list%3C%2Fa%3E%27%3Bf.insertBefore(menu%2Cf.firstChild)%3Bmenu.firstChild.addEventListener(%27click%27%2Cflist%2Cfalse)%3Bw.addEventListener(%27DOMContentLoaded%27%2CunCuck%2Cfalse)%3Bw.addEventListener(%27load%27%2CunCuck%2Cfalse)%3Bif(u)u.style.fontSize%3D%2775%25%27%3Belse%20k%3Dw.setInterval(unCuck%2C100)%3Bw.chat_scroller.style.borderTop%3D%273px%20dotted%20%23597895%27%3Bif(g.chat_max_history%3C1000)g.chat_max_history%3D1000%3Bwhile(i--)%7Bs%3Dpr%5Bi%5D.style%3Bpr%5Bi%5D.className%3Dn%5Bi%5D%3Bpr%5Bi%5D.id%3D%27prog%27%2Bi%3Bs.borderTop%3D%273px%20dashed%20%23f88%27%3Bs.height%3D%272px%27%3Bs.overflow%3D%27hidden%27%3Bs.color%3D%27rgba(67%2C94%2C120%2C0)%27%3Bpr%5Bi%5D.innerText%3D%27qwerty%27%3Bb.appendChild(pr%5Bi%5D)%7Dw.addEventListener(%27keydown%27%2CreloadMarker%2Cfalse)%3Bc.showMessage(%27Script%27%2C%27Vola%20marker%20line%20loaded.%20Hit%20%5Besc%5D%20to%20activate.%27%2C%7B%27dontsave%27%3Atrue%2C%27staff%27%3Atrue%7D)%3Bg.bump%3Dw.setInterval(refreshConfig%2C%2060000)%7D)(window%2Cdocument%2Cdocument.body%7C%7Cbody%2Cwindow.config%2Cwindow.chat_messages%2Cwindow.RoomInstance.extensions.chat%2Cwindow.Room.prototype._extensions.connection.prototype.room.extensions.chat)


Then click the bookmarklet while in any room where you want to see where you left off.