Это, вероятно, ошибка (и не единственная в этой политике автозапуска ...).
Когда вы устанавливаете атрибут muted
через Element.setAttribute()
, политика не развязывается, как это должно быть.
Чтобы обойти это, установите атрибут IDL через свойство элемента:
function render() {
const video = document.createElement('video');
video.muted = true;
video.autoplay = true;
video.loop = true;
video.setAttribute('playsinline', true);
const source = document.createElement('source');
source.setAttribute('src', 'https://res.cloudinary.com/dthskrjhy/video/upload/v1545324364/ASR/Typenex_Dandelion_Break_-_Fade_To_Black.mp4');
video.appendChild(source);
document.body.appendChild(video);
}
render();
Как скрипку , так как StackSnippets, требующие события щелчка от родительской страницы, в любом случае всегда разрешено автоматически воспроизводить ; -.)
Просто повторно реализуйте небезопасный метод в своем подклассе и имейте его, ничего не делают или выдают исключение или повторно реализуют его столь безопасный, столь же долго, как новая реализация не называет небезопасный метод суперкласса.
Для команды C++ в здесь: Objective C не позволяет Вам отметить методы как частные. Можно использовать его систему категории для разделения интерфейса на отдельные файлы (таким образом скрывающий 'частные'), но все методы на классе открыты.
примечание: Я - вновь прибывший ObjC/Cocoa:
@implementation MyClass
-(void)myMethod:(NSString *)txt{
if([self class] != [MyClass class]) return;
NSLog(@"Hello");
}
@end
Peter
Эта статья объясняет, как создать частные переменные в Objective C. Они не являются действительно частными, но от того, что я считал, компилятор бросит предупреждение, при попытке назвать их от подкласса.
При создании методов в суперклассе как "частных" затем, подкласс не имеет никакого возможного способа назвать их. Я не знаком с Objective C, но любой объектно-ориентированный язык, который я видел, имеет "частный" спецификатор.