Расширение просто получает URL активной вкладки и отправляет его в собственное приложение.Это удается на всех других веб-сайтах, включая подстраницы YouTube, где воспроизводится видео.Та же проблема возникает как в Firefox, так и в Chrome.
Ниже приведен код для Chrome
chrome.tabs.query({currentWindow:true,active:true},onGot);
function onGot(tabs){
tab=tabs[0].url;
port.postMessage(tab);
console.log(tab);
console.log("Response sent!");
}
В собственном приложении я сначала читаю размер, а затем сообщение.Ниже приведен код для чтения размера.
int num = 0;
unsigned char c;
log("Listening for data Attempt1");
for (int i = 1;i <= 4;i++)
{
log("Waiting for chararcter");
c = cin.get();
int s = (i - 1) * 8 - 1;
if (s < 0) s = 0;
num = num | (((int)c) << s);
log("Read Character from extension");
log(int(c));
}
log("Output Size:");
log(num);
if (num <0 || num>1999) *//EDIT*
return "NULL";
Это мой лог-файл, когда я пытаюсь вернуть URL-адрес моего родного приложения, когда "https://www.youtube.com/"
Listening for data Attempt1
Waiting for chararcter
Read Character from extension
255
Waiting for chararcter
Read Character from extension
255
Waiting for chararcter
Read Character from extension
255
Waiting for chararcter
Read Character from extension
255
Output Size:
2147483647
0xFFFFFFFFэто конец файла. Это означает, что стандартный поток ввода закрыт. Это происходит только с youtube.com.