Bir chrome uzantısının üçüncü taraf API komut dosyasına erişmesine nasıl izin verebilirim?

0

Soru

Bir chrome uzantısı için bir videoyu oynatmak/duraklatmak için YouTube'un iframe player apı'sinden bir komut dosyasına erişmeye çalışıyorum. Benim JS aşağıda (itibaren https://developers.google.com/youtube/iframe_api_reference).

var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

var player;

function onYouTubePlayerAPIReady() {
    player = new YT.Player('video', {
        events: {
            'onReady': onPlayerReady
        }
    });
}

function onPlayerReady(event) {
    player.playVideo();
}

Ancak, uzantıyı Chrome'a yüklediğimde aşağıdaki hatayı alıyorum:

Senaryoyu yüklemeyi reddetti 'https://www.youtube.com/iframe_api 'çünkü aşağıdaki İçerik Güvenliği İlkesi yönergesini ihlal ediyor: "script-src'self'". 'Script-src-elem' öğesinin açıkça ayarlanmadığını, bu nedenle 'script-src' öğesinin geri dönüş olarak kullanıldığını unutmayın.

URL'yi Manifest'teki CSP'YE eklemeyi denedim.json (aşağıda). Ayrıca tüm satır içi j'leri de kaldırdım.

"content_security_policy": "script-src 'self' https://www.youtube.com/iframe_api; object-src 'self'"

Şimdi, uzantı CSP değerimin geçersiz olduğu bir hatayla yüklenemiyor. Neyi yanlış yaptığımı biliyor musun?

1

En iyi cevabı

0

Chrome'u kontrol edebilirsiniz.komut.executeScript(), bu, kitaplığı yüklemenize ve onu kullanan bazı kodları çalıştırmanıza olanak tanır. Bunu yapmak için, uzantının geri kalanıyla aynı klasörde olması gerekir (kitaplığı bir js dosyasına kopyalamanız yeterlidir). Kitaplığı kullanan kod, chrome'un ilk vaadinden sonra çalıştırılmalıdır.komut.executeScript çözüldü.

https://developer.chrome.com/docs/extensions/reference/scripting/#usage

2021-11-25 08:52:09

API'yi koduma kopyaladım ve chrome'u kullandım.komut.executeScript () ve işe yaradı! Çok teşekkür ederim!
weissguy

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................