Цель, которую я пытаюсь сделать, - автоматизировать мой рабочий процесс. Он собирает конкретные детали этой страницы, также генерирует сокращенный URL-адрес goo.gl, а затем обертывает его в предупреждение для легкой обработки. Когда я помещаю свой javascript в закладку, он зависает при попытке выполнить с документированной ошибкой ниже. Но когда я помещаю его прямо в Консоль, он работает по назначению.
Не знаете, какое решение будет здесь, какие-нибудь мысли?jQuery + ajax звонок из закладки javascript hanging
Консоль выдает эту ошибку, когда выбежала из закладки:
Uncaught TypeError: Cannot read property 'setApiKey' of undefined
Test Url для сценария: https://hireteammate.com/showajob/index/Litepoint-Software-Release-Engineer-Sunnyvale-CA?job_id=7ccfdb23d6f08156bd41c659f2be0eda
Живой код Использована
javascript: jQuery(document).ready(function($) {
/* Description Area */
var title = $(".job_header_title").text();
var company = $("#masthead > div > div.row > div > div.row.job-highlight > div > div:nth-child(1) > div.col-lg-4.col-md-4.col-sm-4.col-xs-12 > div > p:nth-child(3)").text();
var type = $("#aboutjob > div > table > tbody > tr:nth-child(2) > td:nth-child(2)").text();
var role = $("#aboutjob > div > div:nth-child(4) > div.panel-body").text();
var job = (company + " company is looking for a " + title + "/" + type + "\n\n" + role);
/* URL AREA */
var user = "DanielW1";
/* var apiKey = "AIzaSyCE2BK7kOhAKLiRd1BIw9rGZqyM6A58Y94"; */
var hireteammate = "https://hireteammate.com/invite/join/" + user + "?callback=";
var callbackUrl = encodeURIComponent(window.location.href);
var joblink = (hireteammate + callbackUrl);
var longurl = joblink;
$.getScript("https://apis.google.com/js/client.js", function(textStatus, jqxhr) {
/* console.log(textStatus +" "+ jqxhr.status + " Load was performed.");*/ /* Success */
gapi.client.setApiKey("AIzaSyCE2BK7kOhAKLiRd1BIw9rGZqyM6A58Y94");
gapi.client.load('urlshortener', 'v1', function() {
var request = gapi.client.urlshortener.url.insert({
'resource': {
'longUrl': longurl
}
});
var resp = request.execute(function(resp) {
if (resp.error) {
console.log('Error. ' + resp.error.message);
} else {
alert(job + "\n\n" + resp.id);
}
});
});
});
});
Я не тестировал решение, которое я предложил, поскольку вы правильно заявили, что решение «кажется правильным», судя по документации, на которую я ссылался :) – Filip