Необходимо связать напрямую с внутренней страницей Chrome, с одной страницы Chrome Extension
Я просто провел последние 7 часов подряд, пытаясь найти способ ссылки на внутреннюю страницу Chrome. На данный момент я сдался. Я просто попросил людей "щелкнуть правой кнопкой мыши и открыть новую вкладку".
Я пробовал все: от html до css до javascript, но ничего не работает. Ничего не происходит, когда я нажимаю ссылку, хотя щелчок правой кнопкой мыши по ссылке и открытие ее на новой вкладке отлично работает.
Не удалось выполнить Javascript:
<div class="links">
<a href="chrome://net-internals/" onclick="window.open('chrome://net-internals/');">TESTAA</a>
</div>
и
<div class="links">
<a href="chrome://net-internals/" onclick="window.location('chrome://net-internals/');">TESTAA</a>
</div>
Нет страницы с ошибкой. Просто ничего не происходит, когда вы нажимаете. Если вы заставляете его открывать новую вкладку с помощью target="_blank"
, она открывает только пустую вкладку.
UPDATE! РЕШИТЬ!
----- ШАГ 1 -----
Поместите следующий код на страницу background.html(background.html вызывается в manifest.json):
function openNetInternals() {
chrome.tabs.create({url: 'chrome://net-internals/'});
}
----- ШАГ 2 -----
Поместите этот код для ссылки (на странице html):
<a href="chrome://net-internals/" onclick="chrome.extension.getBackgroundPage().openNetInternals()">Net</a>
----- ШАГ 3 -----
Обязательно обновите расширение.
Он будет работать сейчас.
Ответы
Ответ 1
Доступна ли эта ссылка из вашего внутреннего номера или с вашего сайта? Если из расширения, попробуйте использовать chrome.tabs модуль:
chrome.tabs.create({url: 'chrome://net-internals/'});
На фоновой странице создайте функцию, подобную этой:
function openNetInternals() {
chrome.tabs.create({url: 'chrome://net-internals/'});
}
И назовите его со своей пользовательской стартовой страницы при нажатии ссылки следующим образом:
chrome.extension.getBackgroundPage().openNetInternals();
Соответствующие документы здесь.
Ответ 2
Попробуйте следующим образом:
<a href="#" onclick="chrome.tabs.create({url: 'chrome://net-internals'});">Net</a>
Ответ 3
чтобы открыть ссылку chrome:// на новой вкладке
chrome.tabs.create({url: 'chrome://net-internals/'});
чтобы открыть на той же вкладке
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
var tab_id = tabs[0]['id'];
chrome.tabs.update(tab_id, {'url':'chrome://net-internals/'});
});