При нажатии на имя во всплывающем окне открыть ссылку в новой вкладке? - PullRequest
1 голос
/ 02 мая 2020

У меня есть расширение chrome, которое получает запросы о дружбе от Facebook во всплывающем окне. Я получил все запросы о дружбе во всплывающем окне. Когда я нажимаю на имя запроса на добавление в друзья, я хочу открыть его / ее профиль в новой вкладке. У меня есть все ссылки на их профили. Я сохраняю их в localStorage и получаю их во всплывающем окне. Но когда я нажимаю на имя, оно не открывает его / ее профиль. Может кто-нибудь помочь мне открыть их профили, пожалуйста?

Вот мой код:



//content.js


let value  = $('.bl').html();
chrome.storage.local.set({friends:  value}, function() {

}); 

let lengths = $('.bl').children();
let num = lengths.length;
console.log(num);
chrome.storage.local.set({leng: num});


$(".bl a.bo").each(function( index ) {
    let hrefs = $( this ).attr('href');
    chrome.storage.local.set({link: hrefs});
    console.log(hrefs)
  });




//popup.js
chrome.storage.local.get(['friends','leng','link'],function(result) {
   $(".ul_list").html(result.friends);
   $('.userNum').html(result.leng);

   $('a.bo').attr('onclick',"window.open(result.link)");
  });

  chrome.storage.onChanged.addListener(changes => {
   if (changes.friends) {

   }
});



Ответы [ 2 ]

1 голос
/ 02 мая 2020

В Chrome среде расширения для программного открытия новой вкладки вам придется использовать метод chrome.tabs.create.


const url = "http://www.some-web-site.com";

chrome.tabs.create({ url });


1 голос
/ 02 мая 2020

Если вы осмотрите консоль devtools всплывающего окна, вы, вероятно, увидите ошибку о блокировке встроенного JavaScript кода. Всплывающее окно представляет собой отдельное окно, поэтому оно имеет свои собственные средства разработки, которые можно открыть, щелкнув правой кнопкой мыши внутри всплывающего окна, чтобы отобразить контекстное меню, а затем нажав «проверить» в меню.

Решение заключается в добавлении target=_blank атрибут.
Заменить $('a.bo').attr('onclick',"window.open(result.link)"); следующим:

$('a.bo').attr({href: result.link, target: '_blank'});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...