Skip to content
Snippets Groups Projects
Unverified Commit 478ca39e authored by Eugen Rochko's avatar Eugen Rochko Committed by GitHub
Browse files

After click to embed video, autoplay it (#6480)

parent f7765acf
No related branches found
No related tags found
No related merge requests found
...@@ -30,6 +30,29 @@ const trim = (text, len) => { ...@@ -30,6 +30,29 @@ const trim = (text, len) => {
return text.substring(0, cut) + (text.length > len ? '' : ''); return text.substring(0, cut) + (text.length > len ? '' : '');
}; };
const domParser = new DOMParser();
const addAutoPlay = html => {
const document = domParser.parseFromString(html, 'text/html').documentElement;
const iframe = document.querySelector('iframe');
if (iframe) {
if (iframe.src.indexOf('?') !== -1) {
iframe.src += '&';
} else {
iframe.src += '?';
}
iframe.src += 'autoplay=1&auto_play=1';
// DOM parser creates html/body elements around original HTML fragment,
// so we need to get innerHTML out of the body and not the entire document
return document.querySelector('body').innerHTML;
}
return html;
};
export default class Card extends React.PureComponent { export default class Card extends React.PureComponent {
static propTypes = { static propTypes = {
...@@ -92,7 +115,7 @@ export default class Card extends React.PureComponent { ...@@ -92,7 +115,7 @@ export default class Card extends React.PureComponent {
renderVideo () { renderVideo () {
const { card } = this.props; const { card } = this.props;
const content = { __html: card.get('html') }; const content = { __html: addAutoPlay(card.get('html')) };
const { width } = this.state; const { width } = this.state;
const ratio = card.get('width') / card.get('height'); const ratio = card.get('width') / card.get('height');
const height = card.get('width') > card.get('height') ? (width / ratio) : (width * ratio); const height = card.get('width') > card.get('height') ? (width / ratio) : (width * ratio);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment