voqn / zerofixframework Goto Github PK
View Code? Open in Web Editor NEWニコニコ動画ZEROバージョンへのユーザースクリプト作成を支援するフレームワーク的な何か
License: Other
ニコニコ動画ZEROバージョンへのユーザースクリプト作成を支援するフレームワーク的な何か
License: Other
ニコニコ動画ZeroのZeroWatchでは動画視聴ページにおいて、無遷移な動画切り替えが主となります。
そのため、現在のZeroFixFrameworkでは無遷移な動画切り替えに対応しておらず、
動画プレーヤー自体は遷移したにもかかわらずZeroFixFramwork上で動かしたコード部分のオブジェクトに関しては、
直前の動画のオブジェクトと変わらないまま残るバグがあります。
現在のところ、動画視聴ページにおいて無遷移な動画切り替えが起こる時は、今のところ下記の2つのみです。
これらのイベント時に発生するイベントをフックするコードを下記に記述します。
下記のコードでは" window.zero_fix.refresh "に動画情報などのオブジェクトが更新され、run_fixを実行するコードを記述する必要があります。
# transition support
# you must add adapted code of "pushState loading" to "zero_fix.refresh"
watch_elements = window.document.querySelectorAll('.watch')
for element in watch_elements
element.addEventListener('click', (event) -> window.zero_fix.refresh )
window.addEventListener('popstate', (event) -> window.zero_fix.refresh )
しかし、このコードではこれらのイベントをフックすることができますが、発生直後のため、
XHRリクエストなどが発生、完了しておらず、オリジナルな動画情報などのオブジェクトはまだ更新されていない可能性があります。
今現在、 ZeroFixFramework の動作確認テストは、変更したその都度ユーザースクリプトへ生成させ、ブラウザにインストールしなおして初めて検証に入れる。
これでは効率が悪いので、ライブラリのメソッドで、特別 watch ページにアクセスしなければ検証できない、というものでない、ユーティリティを単体テストできるようにする
このような開発方針を提案したい。もっとシンプルなやり方があれば賛成
root/js/lib
root/examples/js
へ js コンパイルしてコミットフレームワーク利用者は以下の手順で自作スクリプトを生成する
my_zero.*
を書くcreate_zero_fix.sh
スクリプトを実行してユーザースクリプトを生成examples/js
にあるユーザースクリプトを利用する以上の為に必要なタスク (別の issue に切り分けておく)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.