Обработка JavaScript и прослушивание событий - PullRequest
0 голосов
/ 18 октября 2018

Это в контексте расширения ребра, но оно будет работать со стандартным JavaScript.

Расширение должно;

1 Уметь распознавать, когда открыта новая вкладка.

2 Замените новую вкладку указанным URL-адресом, а не about:blank и т. Д.

3 У ссылок, которые появляются во всплывающих окнах, открываются на активной вкладке, а не на новой.

У меня есть этот JavaScript;

function handleCreated(tab) {
    var newTabURL = {url: ''};
    browser.tabs.update(newTabURL);
}
browser.tabs.onCreated.addListener(handleCreated);

в качестве примера.Он заменяет текущую вкладку на Google, но только при нажатии на ссылку во всплывающем окне.Ссылка из всплывающего окна должна быть тем, что заменяет активную вкладку, ИЛИ, если пользователь создает новую вкладку, она должна быть заменена, например, mycompany.com/newtab.html.

У меня есть распакованный пример со всем, так что вы можетеувидеть весь кодЧтобы использовать это, вы должны сначала включить параметры разработчика в MS Edge ( Вот как ), затем вы можете загрузить расширение.

Расширение в его текущем состоянии имеет примечания к коду и пояснения в интерфейсе пользователя.,Вы можете получить расширение в его текущей форме по этой ссылке .Вам просто нужно скачать и распаковать, а затем load folder в пределах края.Я подумал, что это легче, чем я публикую весь код, так как вы можете лучше увидеть, как элементы взаимодействуют друг с другом.

Итак, в итоге;

1 Новая вкладка должна открываться вместе сПользовательский URL https://mycompany.com/newtab.html.

2 При наборе Google следует перенаправить на https://gooogle.co.uk.(Добавление ярлыков слов с JS в адресную строку)

3 Ссылки, открытые из всплывающего окна, должны заменить активную вкладку, над которой всплывающее окно доступно, и не открыты в новых вкладках.

Этоработает немного, я просто изо всех сил пытаюсь заставить работать новую функцию вкладки.Это не предназначено для хранилища MS, поэтому политики не имеют отношения к делу.

Загрузите папку с заархивированными расширениями здесь.

1 Ответ

0 голосов
/ 18 октября 2018

MS Edge открывает ссылки из всплывающего окна на новой вкладке по умолчанию, и эта вкладка не активна.

Если, например, у вас есть;

<a href="https://google.co.uk"><p>Visit Google</p></a>

URL откроется в новой вкладке.Чтобы открыть URL-адрес на вкладке, которая активна в браузере Edge, вместо этого вы можете сделать следующее, так что это действительно возможно.

1 Поместите элемент в DIV, например linked content, и используйте<div id="linkedcontent> в вашем HTML.

2 Поместите содержимое, которое должно вызвать новую вкладку в DIV.

3 Используйте следующий JavaScript для getElementByID и затем используйте .onclick для замены текущего окна браузера.

document.getElementById("linkedcontent").onclick = function() {
  var LinkedContent = {url: 'https://google.com'};
    browser.tabs.update(LinkedContent);
};

Это приведет к тому, что окно браузера будет заменено указанным URL.В моем примере это https://google.com.Если вам нужно сделать это несколько раз, просто продублируйте код и замените DIV id на что-то уникальное для каждого и отразите это также в JavaScript.

...