Manipulating Youtube's base.js functions
up vote
0
down vote
favorite
I recently wrote a personal Firefox addon which lowers the sound volume of the first video element found in a webpage using a very simple and generic code attached to a button so I can automatically lower the volume to the value of 0.003 whenever I want to
This is the code that I used in my addon:
function lower_volume()
document.getElementsByTagName("video")[0].volume = 0.004;
The approach was successful on many websites including YouTube but I faced a small problem that a function that resides in YouTube's base.js :g.h.setVolume=function(a)XI();this.o.volume=a;
gets called after a specific amount of time which in its turn sets the volume of the video element to the value of the volume slider and that's something I don't want to happen.
I wonder if there is a way to redefine the function g.h.setVolume
that resides in base.js into something like g.h.setVolume=function(a);
?
I already tried to use
document.getElementsByTagName("video")[0].onvolumechange = lower_volume;
In order to lower the volume once again as soon as the function setVolume changes the volume value and the approach was successful but the new volume is heard for a tenth of a second which is a bit annoying sometimes. That's why I want to know if there is any code that I can write to redefine the function g.h.setVolume
completely.
I know that what I am asking might seem a bit silly and kind of impractical and there are many other ways to accomplish what I am trying to do in a better way, but since my addon is just for personal use, I just want to know if there is a possible way that enables me to redefine the g.h.setVolume function.
This link contains the complete code of base.js
I am still a beginner in JavaScript and any help is much appreciated!
javascript
add a comment |
up vote
0
down vote
favorite
I recently wrote a personal Firefox addon which lowers the sound volume of the first video element found in a webpage using a very simple and generic code attached to a button so I can automatically lower the volume to the value of 0.003 whenever I want to
This is the code that I used in my addon:
function lower_volume()
document.getElementsByTagName("video")[0].volume = 0.004;
The approach was successful on many websites including YouTube but I faced a small problem that a function that resides in YouTube's base.js :g.h.setVolume=function(a)XI();this.o.volume=a;
gets called after a specific amount of time which in its turn sets the volume of the video element to the value of the volume slider and that's something I don't want to happen.
I wonder if there is a way to redefine the function g.h.setVolume
that resides in base.js into something like g.h.setVolume=function(a);
?
I already tried to use
document.getElementsByTagName("video")[0].onvolumechange = lower_volume;
In order to lower the volume once again as soon as the function setVolume changes the volume value and the approach was successful but the new volume is heard for a tenth of a second which is a bit annoying sometimes. That's why I want to know if there is any code that I can write to redefine the function g.h.setVolume
completely.
I know that what I am asking might seem a bit silly and kind of impractical and there are many other ways to accomplish what I am trying to do in a better way, but since my addon is just for personal use, I just want to know if there is a possible way that enables me to redefine the g.h.setVolume function.
This link contains the complete code of base.js
I am still a beginner in JavaScript and any help is much appreciated!
javascript
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I recently wrote a personal Firefox addon which lowers the sound volume of the first video element found in a webpage using a very simple and generic code attached to a button so I can automatically lower the volume to the value of 0.003 whenever I want to
This is the code that I used in my addon:
function lower_volume()
document.getElementsByTagName("video")[0].volume = 0.004;
The approach was successful on many websites including YouTube but I faced a small problem that a function that resides in YouTube's base.js :g.h.setVolume=function(a)XI();this.o.volume=a;
gets called after a specific amount of time which in its turn sets the volume of the video element to the value of the volume slider and that's something I don't want to happen.
I wonder if there is a way to redefine the function g.h.setVolume
that resides in base.js into something like g.h.setVolume=function(a);
?
I already tried to use
document.getElementsByTagName("video")[0].onvolumechange = lower_volume;
In order to lower the volume once again as soon as the function setVolume changes the volume value and the approach was successful but the new volume is heard for a tenth of a second which is a bit annoying sometimes. That's why I want to know if there is any code that I can write to redefine the function g.h.setVolume
completely.
I know that what I am asking might seem a bit silly and kind of impractical and there are many other ways to accomplish what I am trying to do in a better way, but since my addon is just for personal use, I just want to know if there is a possible way that enables me to redefine the g.h.setVolume function.
This link contains the complete code of base.js
I am still a beginner in JavaScript and any help is much appreciated!
javascript
I recently wrote a personal Firefox addon which lowers the sound volume of the first video element found in a webpage using a very simple and generic code attached to a button so I can automatically lower the volume to the value of 0.003 whenever I want to
This is the code that I used in my addon:
function lower_volume()
document.getElementsByTagName("video")[0].volume = 0.004;
The approach was successful on many websites including YouTube but I faced a small problem that a function that resides in YouTube's base.js :g.h.setVolume=function(a)XI();this.o.volume=a;
gets called after a specific amount of time which in its turn sets the volume of the video element to the value of the volume slider and that's something I don't want to happen.
I wonder if there is a way to redefine the function g.h.setVolume
that resides in base.js into something like g.h.setVolume=function(a);
?
I already tried to use
document.getElementsByTagName("video")[0].onvolumechange = lower_volume;
In order to lower the volume once again as soon as the function setVolume changes the volume value and the approach was successful but the new volume is heard for a tenth of a second which is a bit annoying sometimes. That's why I want to know if there is any code that I can write to redefine the function g.h.setVolume
completely.
I know that what I am asking might seem a bit silly and kind of impractical and there are many other ways to accomplish what I am trying to do in a better way, but since my addon is just for personal use, I just want to know if there is a possible way that enables me to redefine the g.h.setVolume function.
This link contains the complete code of base.js
I am still a beginner in JavaScript and any help is much appreciated!
javascript
javascript
asked Nov 10 at 1:46
DarkPointer
11
11
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53235337%2fmanipulating-youtubes-base-js-functions%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown