Стоит модуль "Ждун селекторов"?
Не получается отключить звук.
-
@senerg said in Не получается отключить звук.:
@fox said in Не получается отключить звук.:
Это в ручную, для конкретного скрипта в BAS убрать так звук получится. Но не для отдельного потока например.
И как такое сделать чтобы не пришлось при каждом запуске скрипта этот ритуал повторять?
Значения микшера для приложений сохраняются в винде сами. Если скрипт скомпилированный, то должно быть достаточно 1 раз убрать для него звук. А вообще проявили бы фантазию и загуглили бы способы отключения звука в приложениях.
-
@fox , Уже фантазия устала фантазировать и сил нет костылировать. Хотел по-быстрому парсер с постером написать, а оказалось, изучил столько, что можно смело программистом идти устраиваться на работу).
Вроде бы такая простая и всеми желанная операция, просто звук отключить... Странно что ее стандартными средствами BAS реализовать нельзя. Самая важная особенность, которую должен знать каждый перед принятием решения о изучении BAS: работает все, но не всегда. -
@uraabk said in Не получается отключить звук.:
это все тот же парсер али?
Он уже давно написан. И первый блин совсем не получился комом, работает как автомат Калашникова. Но он на запросах, наверное поэтому так, а с браузерными действиями прям беда, хотя при долгой и мучительной отладке и там можно сделать плюс-минус что-то годное.
-
@senerg
Когда вручную в браузере работаешь, браузер тоже иногда барахлит. Бывает сервер что-то не то отдаст или будет отдавать слишком долго, бывает скрипт какой-то не выполнится. Может памяти не хватить или ресурса процессора.
Т.е. мы изначально пытаемся автоматизировать то, что абсолютно стабильно не работает. В этих условиях справедливо рассчитывать на стабильность скрипта Вы можете только в том случае, если предусмотрите абсолютно все варианты развития событий. В том числе связанные с недоработкой самого BAS.Мне не нравится приводить себя в пример, но, возможно, это как-то поможет Вам.
И в браузерных и в запросных скриптах никогда не заморачиваюсь по поводу того, что какие-то действия не выполняются. В случае ошибки поток просто завершается и перезапускается. Если число неудачных использований ресурса выставить в большое число, а удачных - ограниченное, то этот ресурс будет использоваться повторно до тех пор, пока не выполнится и упрётся в число удач.
Да, такой метод подходит не всегда. Абсолютно точно уверен, что проектирование алгоритма под такую логику займет намного меньше времени, чем обработка всех ошибок.
Теоретически. -
@xclsv , @uraabk , все правильно, в основном проблемы именно из-за сайтов. Но и у BAS есть недоработки. Например, после полной загрузки страницы, ожидания элемента и успешной проверки его видимости сам элемент может быть скрыт под другим элементом. Поэтому даже при таких проверках клик по такому элементу всегда будет неудачным.
-
@senerg said in Не получается отключить звук.:
@xclsv , @uraabk , все правильно, в основном проблемы именно из-за сайтов. Но и у BAS есть недоработки. Например, после полной загрузки страницы, ожидания элемента и успешной проверки его видимости сам элемент может быть скрыт под другим элементом. Поэтому даже при таких проверках клик по такому элементу всегда будет неудачным.
Не стану ввязываться в холивар. Я итак потратил полтора часа времени, чтобы решить ваш вопрос, после которого вы всё равно остались недовольны. Что-ж это ваше право. Мы оба останемся при своих мнениях, перепалки в соседних темах это доказывают.
Если что то работает не так как вам нравится - исправьте и поделитесь с остальными. Критикуешь - предлагай, а лучше действуй.
-
@fox Я могу предложить сделать голосовалку на сайте чтобы каждый участник форума мог написать проблему, решение которой в BAS на данный момент невозможно или возможно но через мучительное костылирование. И чтобы каждый мог поставить лайк той проблеме, которую он считает важной. Так по количеству лайков разработчик сможет видеть в одном месте что конкретно стоит улучшить. Как технически решить те проблемы, о которых я пишу здесь я не знаю, просто не хватает знаний, ну не программист я.
-
@senerg said in Не получается отключить звук.:
@fox Я могу предложить сделать голосовалку на сайте чтобы каждый участник форума мог написать проблему, решение которой в BAS на данный момент невозможно или возможно но через мучительное костылирование. И чтобы каждый мог поставить лайк той проблеме, которую он считает важной. Так по количеству лайков разработчик сможет видеть в одном месте что конкретно стоит улучшить.
К сожалению подавляющее большинство пользователей форума не имеют премиума, и как следствие голосование получится в набор хотелок фишек на халяву.
Как технически решить те проблемы, о которых я пишу здесь я не знаю, просто не хватает знаний, ну не программист я.
Я тоже не программист, серьёзно, при встрече с BAS'ом я не знал даже о циклах, не говоря уже о чистом яваскрипте. Если нужно было выполнить 10 одинаковых действий в BAS, я их 10 раз копировал.. Но всё приходит с опытом. Вы с сентября месяца создали 641 запись, не ужели ни каких знаний за почти пол года не появилось? Попробуйте применять их на практике, экспериментировать, гуглить, снова экспериментировать..
-
@fox said in Не получается отключить звук.:
получится в набор хотелок фишек на халяву
Ни кто же не заставляет их все реализовывать. Я думаю, что из такого списка разработчик сам сможет быстро и просто отфильтровать то, что действительно стоит сделать. На сколько я понимаю разработчик заинтересован именно в популяризации BAS.
@fox said in Не получается отключить звук.:
не ужели ни каких знаний за почти пол года не появилось?
Появилось, и не мало. Но не достаточно для того, чтобы залезть в движок хромиума и понять что там нужно сделать чтобы отключить звук.
-
@senerg said in Не получается отключить звук.:
Ни кто же не заставляет их все реализовывать.
Вы ведь понимаете, что для каждого пользователя именно его проблема в приоритете.
Я думаю, что из такого списка разработчик сам сможет быстро и просто отфильтровать то, что действительно стоит сделать.
Для этого есть ветка Запросы функционала
На сколько я понимаю разработчик заинтересован именно в популяризации BAS.
Я не особо заметил заинтересованности разработчика именно в популяризации, да и реализация бесплатных плюшек ни как не скажется на популяризации BAS.
Появилось, и не мало. Но не достаточно для того, чтобы залезть в движок хромиума и понять что там нужно сделать чтобы отключить звук.
А как вы залезете в движок хромиума? В исходниках BAS'a ковыряться, чтобы потом скомпилировать версию BAS для себя?
Всё что я делал, это гуглил. Оказывается есть тег video, и есть способы работы с ним. Например установкой атрибута muted со значением true. То есть можно даже без всяких функций убрать звук действием "выполнить яваскрипт на элементе" с кодом:
self.muted=trueВот тестовый скрипт.
По сути, если вы умеете работать с селекторами, то данный способ будет универсальный. -
@fox said in Не получается отключить звук.:
По сути, если вы умеете работать с селекторами, то данный способ будет универсальный.
Даже на том же ютубе после отключения звука этим способом если вдруг появляется реклама в видео то и звук появляется снова.
-
@senerg said in Не получается отключить звук.:
@fox said in Не получается отключить звук.:
По сути, если вы умеете работать с селекторами, то данный способ будет универсальный.
Даже на том же ютубе после отключения звука этим способом если вдруг появляется реклама в видео то и звук появляется снова.
Потому что у рекламы значит другой селектор. По этому в функции добавлен обработчик события addEventListener. На случай, если что то новое появится.
-
@senerg said in Не получается отключить звук.:
@fox said in Не получается отключить звук.:
По этому в функции добавлен обработчик события addEventListener
Не нашел в ваших примерах addEventListener. Где он добавлен?
Я же говорю, в функции. Функцию выложил @support , вы на неё ссылались в первых постах:
var mute=function(tag){ var elems = document.getElementsByTagName(tag); for(var i = 0; i < elems.length; i++){ elems[i].muted=true; } } mute("video"); mute("audio"); document.addEventListener("DOMSubtreeModified", function(event) { mute("video"); mute("audio"); });Я её же перевёл в одну строку:
var mute=function(tag){var elems = document.getElementsByTagName(tag);for(var i = 0; i < elems.length; i++){elems[i].muted=true;}};mute("video");mute("audio");document.addEventListener("DOMSubtreeModified", function(event) {mute("video");mute("audio");});