#javascript #google-chrome-extension
Вопрос:
manifest.json
{
"manifest_version": 2,
"name": "Monitoring",
"description": "Testing Plugin",
"version": "0.1.0",
"background": {
"scripts": ["extension.js"
],
"persistent": false
},
"externally_connectable": {
"matches": ["*://teamsqa.educore.guru/*"]
},
"permissions": ["desktopCapture"
]
}
Extension.js
chrome.runtime.onMessageExternal.addListener((message, sender, sendResponse) => {
//response
const sources = message.sources;
const tab = sender.tab;
chrome.desktopCapture.chooseDesktopMedia(sources, tab, (streamId) => { //stream
if (!streamId) {
sendResponse({
type: 'error',
message: 'Failed to get stream ID'
});
} else {
sendResponse({
type: 'success',
streamId: streamId
});
}
});
return true;
});
index.html
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>share your Screen</title>
</head>
<body>
<h1>Screen</h1>
<button id="share-it">share</button>
<video autoplay id="screen-view" width="50%"></video>
<script >
//script
(() => {
const EXTENSION_ID = 'bnldcjfgiecgggogiggnpfagbdegmplb';
const share = document.getElementById('share-it');
const video = document.getElementById('screen-view');
const request = {
sources: [ 'screen']
};
let stream;
//click event to listner
share.addEventListener('click', event => {
window.chrome.runtime.sendMessage(EXTENSION_ID, request, response =>
{ //response
if (response amp;amp; response.type === 'success') {
navigator.mediaDevices.getUserMedia({
video: {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: response.streamId
}
} //stream video
}).then(returnedStream => {
stream = returnedStream;
video.srcObject = stream;
}).catch(err => {
console.error('Could not get stream: ', err);
});
} else {
console.error('Could not get stream');
}
});
});
})();
</script>
</body>
</html>
Это мой файл манифеста, когда я подключаю расширение от teamsqa.educore.guru по ошибке
Вы не могли бы мне помочь?
Я обновил свой extension.js и здесь тоже
А также Intex.html файл . вот я загружаю свой html-файл в свой домен и отправляю запрос на расширение, и ошибка показывает, что «У получателя не существует расширения chrome».
Комментарии:
1. Вот мой extension.js файл @wOxxOm
2. extension.js все в порядке, а как насчет кода подключения?
3. index.html это мой код подключения @wOxxOm
4. на локальном хосте это работает нормально
5. Кажется, тоже хорошо. Может
matches
быть, есть опечатка или ошибка? Еще одна вещь, которую нужно проверить: откройтеchrome://policy
и посмотрите, есть ли в нем расширения.