Как перейти по ссылке в коде на другую старницу
Пишу расширение для хром, которое выделенный фрагмент текста со страницы помещает в Гуглшитс. Хочется после выбора в контекстном меню перенаправить пользователя на лист гугл-шитс чтобы он увидел результаты. Имеется такой рабочий код background.js (нужно только реализовать переход на лист после исполнения кода):
function OrderToSupplier(info, tab) {
var sku = info['selectionText']
var orderurl = info['pageUrl']
var url = "https://script.google.com/macros/s/{script ID}/dev?ssId={SSID}&sheetName=1&sku=" + sku + "&orderurl=" + orderurl;
console.log(url)
fetch(url, {mode: 'no-cors'})
.then(function(response) {
console.log(response);
setTimeout(linktoCRM, 10000,response['status'])
})
.catch(function(error) {
console.log('Looks like there was a problem: \n', error);
});
}
попытка перейти через функцию
function linktoCRM(respovsestatus){
if (respovsestatus == 200) {location.href = 'https://docs.google.com/spreadsheets/d/{SSID}/edit#gid=0'}
}
результата не дает.
Ответы (1 шт):
Автор решения: Sturmer
→ Ссылка
Все оказалось просто, вот рабочий код:
function linktoCRM(responseStatus){
if (responseStatus == 200) { // если статус ответа положительный, тогда переходим на вкладку гуглШитс
chrome.tabs.query({url:'https://docs.google.com/spreadsheets/d/{SSID}/edit*',active: false,currentWindow: true}, function (tabs) { //Находи по url вкладку, куда будем переходить
if (typeof tabs[0] == 'undefined')chrome.tabs.create({"url": "https://docs.google.com/spreadsheets/d/{SSID}/edit#gid=0"}) // если найдена хоть одна вкладка переходим на первую вкладку
else chrome.tabs.update(tabs[0]['id'], {highlighted: true}) // если не одна вкладка не найдена открываем ее по url
});
Обратите внимание: вкладка не ищется по полному url гуглшита, его пришлось обрезать стоит в конце звезда. Почему - не знаю, но так работает.