Fix fullscreen copy
It seems we can't copy element outside the fullscreen element
This commit is contained in:
parent
5f886402f5
commit
d96bc49742
2 changed files with 11 additions and 9 deletions
|
@ -502,7 +502,7 @@ export class PeerTubePlayer {
|
|||
{
|
||||
label: player.localize('Copy the video URL'),
|
||||
listener: function () {
|
||||
copyToClipboard(buildVideoLink({ shortUUID }))
|
||||
copyToClipboard(buildVideoLink({ shortUUID }), player.el() as HTMLElement)
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -510,17 +510,17 @@ export class PeerTubePlayer {
|
|||
listener: function () {
|
||||
const url = buildVideoLink({ shortUUID })
|
||||
|
||||
copyToClipboard(decorateVideoLink({ url, startTime: player.currentTime() }))
|
||||
copyToClipboard(decorateVideoLink({ url, startTime: player.currentTime() }), player.el() as HTMLElement)
|
||||
}
|
||||
},
|
||||
{
|
||||
icon: 'code',
|
||||
label: player.localize('Copy embed code'),
|
||||
listener: () => {
|
||||
copyToClipboard(buildVideoOrPlaylistEmbed({
|
||||
embedUrl: self.currentLoadOptions.embedUrl,
|
||||
embedTitle: self.currentLoadOptions.embedTitle
|
||||
}))
|
||||
copyToClipboard(
|
||||
buildVideoOrPlaylistEmbed({ embedUrl: self.currentLoadOptions.embedUrl, embedTitle: self.currentLoadOptions.embedTitle }),
|
||||
player.el() as HTMLElement
|
||||
)
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
function copyToClipboard (text: string) {
|
||||
function copyToClipboard (text: string, container?: HTMLElement) {
|
||||
if (!container) container = document.body
|
||||
|
||||
const el = document.createElement('textarea')
|
||||
el.value = text
|
||||
el.setAttribute('readonly', '')
|
||||
el.style.position = 'absolute'
|
||||
el.style.left = '-9999px'
|
||||
document.body.appendChild(el)
|
||||
container.appendChild(el)
|
||||
el.select()
|
||||
document.execCommand('copy')
|
||||
document.body.removeChild(el)
|
||||
container.removeChild(el)
|
||||
}
|
||||
|
||||
function wait (ms: number) {
|
||||
|
|
Loading…
Reference in a new issue